C# 无法创建静态类';System.Tuple';

C# 无法创建静态类';System.Tuple';,c#,tuples,C#,Tuples,我对这门语言很陌生。此代码给了我一个错误: 无法创建静态类“System.Tuple”的实例 我不知道我做错了什么。有人能告诉我怎么了吗 using(StreamReader rdr = new StreamReader("fileName")) { StringBuilder sb = new StringBuilder(); Int32 nc = 0; Char c; Int32 lineNumber = 0; while( (nc == rdr.Re

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

无法创建静态类“System.Tuple”的实例

我不知道我做错了什么。有人能告诉我怎么了吗

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 );
}   

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

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

尝试
新元组(sb.ToString(),lineNumber)
这是
while((nc==rdr.Read()!=-1))
应该是
while((nc=rdr.Read())!=-1)
可能?而不是使用.NET框架类型
Int32
Char
来声明变量,考虑使用C语言类型<代码> int <代码>和<代码> char < /代码>。要了解原因,请参阅和。请参阅代码片段2和3
yield return new Tuple<string, int>( sb.ToString(), lineNumber );
yield return Tuple.Create(sb.ToString(), lineNumber);