Loading...
rosen.ivanov avatar rosen.ivanov 130 Точки

Ако имаш string str = "1 2 3 4 5" и искаш да вземеш всяко число и да го парснеш към инт, трябва да си направиш масив от интове по следния начин: int[] numbers = str.Split(' ').Select(int.Parse).ToArray(); В случая разделителя ти е спейс, но може да имаш няколко разделителя, например запетайка и спейс. Тогава ще стане int[] numbers = str.Split(new char[] { ' ', ',' }, StringSplitOptions.RemoveEmptyEntries).Select(int.Parse).ToArray();. Тук за да разделиш по няколко символа, в сплита трябва да си направиш масив от чарове. Може и с масив от стрингове: int[] numbers = str.Split(new string[] { ", " }, StringSplitOptions.RemoveEmptyEntries).Select(int.Parse).ToArray(); А с "StringSplitOptions.RemoveEmptyEntries" си гарантираш, че ще изтриеш всички излишни празни пространства, които биха ти направили проблем.

Ако пак не ти стане ясно, дай някакъв пример за да се опитам да ти го обясня по-конкретно.

0
12/06/2017 22:09:49
Simeon22 avatar Simeon22 12 Точки

Много благодаря за разяснението! Сега ще го изпробвам в задачи и ще разбера дали ми е станало ясно. Поздрави!

0
sevgin0954 avatar sevgin0954 557 Точки

Split взима стринг примерно  

string word = "1 2 3";

и го разделя по зададен char примерно по празно растояние

word.Split(' ');  и връща елементите разделени в масив от стрингове.

За да го направиш на числа трябва да ползваш Select метода който взима всички елементи и ги прави нещо примерно Select(int.Parse) и връща нещо което нямам представа какво е но не е масив тъй че слагаш накрая ToArray() за да стане масив и се получава   int[] arr = word.Split(' ').Select(int.Parse).ToArray();  Може и да го направиш без Select в масив от стрингове и после едно по едно с for цикъл да си ги парсваш в int масив но така е по кратко

0
12/06/2017 22:25:03
Simeon22 avatar Simeon22 12 Точки

Благодаря, обяснил си го кратко и ясно!

0
Pilgrimage avatar Pilgrimage 515 Точки

Самата функция Split() служи да ти нацепи някакъв стринг по зададени разделители. Разделителят (сепаратор)  може да бъде само от един символ и е от тип char. Но пък можеш да си направиш масив от чарове (в самият Split или предварително) и да сплитваш едновременно по всички. Когато ползваш масив от char-ове, имаш достъп до безценната функция StringSplitOptions.RemoveEmptyEntries, за която е писал и колегата rosen.ivanov  .

Тя служи да премахне от резултантния масив празните елементи, които се образуват, когато примерно имаме няколко поредни интервала (или други разделители). След това, можеш да парснеш останалите елементи от поредицата (за които знаеш, че са числа) към int с функцията .Select(int.Parse) и накрая да преобразуваш поредицата в някаква колекция, примерно масив със ToArray().

 

0
12/06/2017 22:23:44
Simeon22 avatar Simeon22 12 Точки

Благодаря за ясният отговор!

0
ivan_gy6ev avatar ivan_gy6ev 3 Точки

Колеги ако може малко помощ!  не виждам къде има проблем  за да дава 75/100 точки в моето решение https://pastebin.com/B7zW1rQS

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