2015-04-16 3 views
-2

У меня есть строка, которые представляют ряд, как 1234567890, и я хочу разделить это на отдельные цифры, как-то так:Как разбить строку на отдельные буквы

<div class="counter"> 
@if (Model.Count > 0) 
{ 
char[] num = { '0', '1', '2', '3', '4', '5', '6', '7', '8', '9' } 

string TotalCount = @Model.Count; 
string[] TheDigit = TotalCount.Split(num); 

foreach (var TheDigit in TotalCount) 
{ 
<li>TheDigit</li> 
} 
} 
</div> 

Как я могу добиться этого правильно? Во всяком случае мой выход должен быть чем-то вроде этого:

<li>1</li><li>2</li>...<li>9</li><li class="Zero">0</li> 
+6

'ToCharArray()'? или более просто: 'foreach (char c in theString) {...}'? –

+0

@MarcGravell Почему бы просто не использовать оператор '[]'? –

+0

массив символов в методе 'Split' является разделителем, а не желаемым выходом – VMAtm

ответ

1

Прежде всего, это не рассматривают логику, ИМХО, так что это не должно быть сделано в целях, но в контроллере. Мнения могут отличаться от этого.

К тому же, если вам нужно получить цифры числа, вы можете сделать это арифметически или по строкам. Стринг-мудрый вы могли бы сделать (если предположить, что нормальные цифры занимают только характер, информацию о культуре, ли л, турецкий I, л):

var x = "1234567"; 
foreach(var digit in x) 
{ 
    <li>@digit</li> 
} 
+0

. Я должен сделать это только для стилизации , Во всяком случае, я (очень) новичок в MVC, так что это место, которое я считаю удобным для этого. – net4u

0

Так у вас есть char[], который содержит цифры, и вы хотите следующий как результат?

<li>1</li><li>2</li>...<li>9</li> 

Вы можете использовать ...

string result = string.Concat(num.Select(c => string.Format("<li>{0}</li>", c))); 
0

Мой плохо: Я забыл перевести в строку. Так или иначе работает следующим образом:

<div> 
@if (Model.Count > 0) 
{ 
<ul class="counter clearfix"> 
@{ 
string str = Model.Count.ToString(); 
foreach (var TheDigit in str) 
{ 
<li>@TheDigit</li> 
} 
} 
</ul> 
} 
<div> 
<span>Joburi</span> 
</div> 
</div> 

Спасибо ребята

Смежные вопросы