Я очень новичок в этом вопросе. Этот код дает мне ошибку:Невозможно создать экземпляр статического класса 'System.Tuple'
Cannot create an instance of the static class 'System.Tuple'
Operator '!=' cannot be applied to operands of type 'bool' and 'int'
Я не знаю, что я делаю неправильно. Может кто-нибудь сказать мне, что это неправильно
using(StreamReader rdr = new StreamReader("fileName"))
{
StringBuilder sb = new StringBuilder();
Int32 nc = 0;
Char c;
Int32 lineNumber = 0;
while((nc == rdr.Read() !=-1))
{
c = (Char)nc;
if(Char.IsWhiteSpace(c))
{
if(sb.Length > 0)
{
yield return new Tuple(sb.ToString(), lineNumber);
sb.Length = 0;
}
if(c == '\n') lineNumber++;
}
else
{
sb.Append(c);
}
}
if(sb.Length > 0) yield return new Tuple(sb.ToString(), lineNumber);
}
Попробуйте 'новый Tuple (sb.ToString(), lineNumber)' –
Это 'while ((nc == rdr.Read()! = - 1))' предполагается, что это 'while ((n c = rdr.Read())! = -1) 'может быть? – SimpleVar
Вместо того, чтобы использовать типы .NET Framework 'Int32' и' Char' для объявления ваших переменных, вместо этого используйте вместо них типы языка C# 'int' и' char'. Чтобы узнать, почему, см. [Int или Int32? Мне все равно?] (Http://stackoverflow.com/q/62503/1497596) и [В чем разница между строкой и строкой?] (Http://stackoverflow.com/q/7074/1497596). – DavidRR