Софтуерно Инженерство
Loading...
GeorgiNedyalkov avatar GeorgiNedyalkov 0 Точки

C# string.Split() Method не работи

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

В момента съм в модула C# Advanced.

Когато дефинирам масив от стрингове и се опитвам да използвам .Split метода по този начин.

string[] arr = Console.ReadLine().Split(" ", StringSplitOptions.RemoveEmptyEntries);

Ми дава следните грешки. 

Cannot convert from char to string 

Следователно не мога да го използвам

Тагове:
0
C# OOP Advanced
prohause avatar prohause 234 Точки
Best Answer

Пробвай с единични кавички

0
GeorgiNedyalkov avatar GeorgiNedyalkov 0 Точки

Отново не се получава сега ми дава - Cannot convert SystemStringOptions to char

Като кликна на Split ми показва поле: string[] string.Split(params char[] separator) (+ 5 overloads)

A на лекцията, когато кликнат там изписва: string[] sting.Split(string separator, [StringSplitOptions options = StringSlpitOptions.None]) (+ 9 overloads)

използвам същите System; System.Collections; System.Collections.Generic; System.Linq;

0
17/05/2019 17:20:45
prohause avatar prohause 234 Точки

Я качи кода в PasteBin

0
prohause avatar prohause 234 Точки

Когато създаваше проекта какво избра net.Framework или net.Core?

0
GeorgiNedyalkov avatar GeorgiNedyalkov 0 Точки

С .NET Core работи! 

Благодаря много!!!

0
prohause avatar prohause 234 Точки

Само за инфо на net.framework се пише така .Split(new[] {' '},StringSplitOptions.RemoveEmptyEntity)

0
GeorgiNedyalkov avatar GeorgiNedyalkov 0 Точки

Супер, Благодаря отново!

0
dsvstoev avatar dsvstoev 0 Точки

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

във Fundamentals срещам същият проблем и не мога да си го обясня. Конкретно става въпрос за задачата "Kamino factory" в това видео:

https://softuni.bg/trainings/resources/video/37786/video-06-february-2019-ivailo-dimitrov-technology-fundamentals-with-csharp-january-2019/2237

Лектора го решава по следния начин:

            string input = Console.ReadLine();
            int[] current = input
                .Split('!', StringSplitOptions.RemoveEmptyEntries)
                .Select(int.Parse)
                .ToArray

Във видеото от лекцията работи без проблем а на мен ми изкарва изписаната от колегата грешка.

прегледах други решения и това

  int[] intput = Console.ReadLine()
                .Split(new char[] { '!' }, StringSplitOptions.RemoveEmptyEntries)
                .Select(int.Parse)
                .ToArray();

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

 

          

0
18/05/2019 18:37:44
prohause avatar prohause 234 Точки

Здрасти. Когато създаваш обекта кой тип избираш..Net.Framework или Net.Core?

0
VasilKotsev avatar VasilKotsev 768 Точки

Има разлика в overload-ите на .Split() (и не само този метод...) между стария .NET Framework и .NET Core. Общо взето при стария .NET трябва да се подадат сепараторите като char[] или string[], докато в Core можеш да му подадеш низ. 

0
karim.moh16 avatar karim.moh16 3 Точки

Получи ли отговор или все още се мъчиш?

0