Професионална програма
Loading...
+ Нов въпрос
bodyquest avatar bodyquest 1 Точки

Technology Fundamentals Sept 2018 [Exercises- Dictionaries, Lambda, Linq]- Galin Gospodinov: ?? .Split(" | ") ??

Здравейте колеги,

На упражнението за речници, Галин се справяше изключително добре (гледам го на запис), но все още съм озадачен как направи това той, без да има проблем. Никъде в интернет и по принцип, не пише, че метода .Split() приема substring като разделител, когато не си го декларирал предварително.

Така, че той си написа съвсем спокойно във видеото ТУК (1:51.00) 

tokens = input.Split(" | "); Като тук говорим са три символа: интервал, пайп, интервал.

Както виждате синтаксиса не предполага това да може да се случи. Пак казвам, никой в StackOverflow (въпреки множеството подобни въпроси като моя) не "се е сетил" как може това да стане без някакви предваритлени декларации или Regex Split и т.н., което дори още не е преподадено в материала, нито Галин го е написал така разбира се.

Сега стигам до "Още упражнения" за Речници и трябва да разделя входния стринг в масив по "=>".

Неща с Regex.Split();, искам да разбера как той го направи ! :)

Нещо фундаментално ли пропускам, или не, защото не го намерих в интернет?

Благодаря предварително!

Тагове:
0
Fundamentals Module
VasilKotsev avatar VasilKotsev 824 Точки

Ако пишеш под .NET Framework няма overload на Split(), който да приема за делиметър стринг. Трябва да го напишеш със масив от char или string: Split(new[] { '=', '>' }); На .NET Core може директно string да се подаде. Тук можеш да прочетеш повече за overload-ите в .NET Framework.

0
01/12/2018 14:47:09
bodyquest avatar bodyquest 1 Точки

Поне разбрах причината. Благодаря. Има ли начин с ектеншън или нещо друго, да постигна това на VS2017, някакъв .Net Core extension или не знам какво точно.

Съмнявам се повечето от присъстващите на упражнението да са имали неговите настройки и да им е било ОК със стринг за делимитър....

0
VasilKotsev avatar VasilKotsev 824 Точки

Няма такова нещо като "extension" за .NET Core. До колкото виждам в последния Tech модул има стратегия само за .NET Core съответно би трябвало да пишете на Core. Това, че код писан на .NET Framework може да работи на Core е друга работа, но после като минете в OOP и ще трябва да качвате главно .Zip архиви ще ви гърмят всички submission-и с Runtime Error защото има само .NET Core стратегия.

Инсталирате си SDK-то и създавате нов .NET Core проект и няма да берете ядове. Другият вариант е new[] { "=>"}, StringSplitOptions.RemoveEmptyEntries.

0
01/12/2018 16:35:30