无法创建静态类';的实例;System.Tuple';

本文关键字:实例 System Tuple 创建 静态类 | 更新日期: 2023-09-27 18:28:12

我对这门语言很陌生。这个代码给了我错误:

无法创建静态类"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 );
}   

无法创建静态类';的实例;System.Tuple';

元组类需要类型参数,您必须提供:

yield return new Tuple<string, int>( sb.ToString(), lineNumber );

或者,您可以使用Tuple.Create,它通常允许自动推断类型参数:

yield return Tuple.Create(sb.ToString(), lineNumber);