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 356 Точки
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 356 Точки

Я качи кода в PasteBin

0
prohause avatar prohause 356 Точки

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

0
GeorgiNedyalkov avatar GeorgiNedyalkov 0 Точки

С .NET Core работи! 

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

0
prohause avatar prohause 356 Точки

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

1
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 356 Точки

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

0
VasilKotsev avatar VasilKotsev 830 Точки

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

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

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

0
Можем ли да използваме бисквитки?
Ние използваме бисквитки и подобни технологии, за да предоставим нашите услуги. Можете да се съгласите с всички или част от тях.
Назад
Функционални
Използваме бисквитки и подобни технологии, за да предоставим нашите услуги. Използваме „сесийни“ бисквитки, за да Ви идентифицираме временно. Те се пазят само по време на активната употреба на услугите ни. След излизане от приложението, затваряне на браузъра или мобилното устройство, данните се трият. Използваме бисквитки, за да предоставим опцията „Запомни Ме“, която Ви позволява да използвате нашите услуги без да предоставяте потребителско име и парола. Допълнително е възможно да използваме бисквитки за да съхраняваме различни малки настройки, като избор на езика, позиции на менюта и персонализирано съдържание. Използваме бисквитки и за измерване на маркетинговите ни усилия.
Рекламни
Използваме бисквитки, за да измерваме маркетинг ефективността ни, броене на посещения, както и за проследяването дали дадено електронно писмо е било отворено.