2011-09-05 3 views
0

Ну это код у меня ошибки с:Как я могу исправить эти ошибки в C#?

this.terminchar = Convert.ToChar(8080);  
List<string> source = new List<string>(this.base64Decode(parse_value).Split(new char[] { this.terminchar })); 

if ((source) % 2) == 0) 
{ 
    for (int i = 0; i < source; i++) 
    { 
    this.keys.Add(source[i], source[++i]); 
    } 
} 

я получаю 3 ошибки с этим кодом, первый один:

Ошибка 1 Operator «<» не может быть применен к операндам тип 'INT' и 'System.Collections.Generic.List'

Второй один:

Ошибка 2 '%' оператор не может быть применена к операндам типа 'System.Collections.Generic.List' и 'Int'

Третья:

Ошибка 3 Термина Неправильного выражения «= = '

Я довольно новичок в C#, и это мой исходный код моих друзей, который я просто рассматриваю, чтобы понять синтаксис, но я понятия не имею, что делать. Любая полученная помощь будет оценена, спасибо.

ответ

3

Вы выполняете некоторые операции над списком. Я совершенно уверен, вы должны ваши строки следующим образом ...

if ((source.Count) % 2) == 0) 

и

for (int i = 0; i < source.Count; i++) 

вместо

+0

работал как шарм, спасибо большое :) – Neel

6

Возможно, вы ищите собственность .Count в обоих случаях.

Поэтому используйте source.Count.

0

Вы должны использовать .Count на источник, чтобы получить количество элементов в списке

List<string> source = new List<string>(this.base64Decode(parse_value).Split(new char[] { Convert.ToChar(8080) })); 
string Command = source[0]; 
source.RemoveAt(0); 
if ((source.Count) % 2) == 0) 
{ 
    for (int i = 0; i < source.Count; i++) 
    { 
     this.keys.Add(source[i], source[++i]); 
    } 
} 
+2

'List' не имеет' .size() 'в C# – WaltiD

+0

Да, извините, был спутан с Java :) уже редактировалось –

1

очевидно, что вы можете использовать там в течение цикла. используйте i<source.Count, а также (source.Count) % 2 вместо

+0

Что такое' source.Length'? Компилятор скажет вам. – leppie

+0

извините, он будет содержать счет как есть Список <> –

+0

его кол-во не учитывается. – Ray

0

source является List<string> - контейнер для строк см MSDN.

Операторы < и % могут быть применены к int. Так что ваш код чего-то не хватает.

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