Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/visual-studio-2010/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 尝试在C中使用IOrderedEnumerable对列表排序_C#_Visual Studio 2010_Sorting_Console Application_Unassigned Variable - Fatal编程技术网

C# 尝试在C中使用IOrderedEnumerable对列表排序

C# 尝试在C中使用IOrderedEnumerable对列表排序,c#,visual-studio-2010,sorting,console-application,unassigned-variable,C#,Visual Studio 2010,Sorting,Console Application,Unassigned Variable,我试图读入一个.csv文件,进行一些格式化,将每一行拆分为其列数据,并将新的分离列数据数组添加到数组列表中。然后我想以不同的方式排列列表。目前仅按用户名按字母顺序递增 这就是我迄今为止所做的尝试: // create list for storing arrays List<string[]> users; string[] lineData; string line; // read in stremreader System.IO.StreamReader file = ne

我试图读入一个.csv文件,进行一些格式化,将每一行拆分为其列数据,并将新的分离列数据数组添加到数组列表中。然后我想以不同的方式排列列表。目前仅按用户名按字母顺序递增

这就是我迄今为止所做的尝试:

// create list for storing arrays
List<string[]> users;

string[] lineData;
string line;

// read in stremreader
System.IO.StreamReader file = new System.IO.StreamReader("dcpmc_whitelist.csv");
// loop through each line and remove any speech marks
while((line = file.ReadLine()) != null)
{
    // remove speech marks from each line
    line = line.Replace("\"", "");

    // split line into each column
    lineData = line.Split(';');

    // add each element of split array to the list of arrays
    users.Add(lineData);

}

IOrderedEnumerable<String[]> usersByUsername = users.OrderBy(user => user[1]);

Console.WriteLine(usersByUsername);
这给出了一个错误:

未分配局部变量“users”的使用


我不明白为什么它说它是一个未赋值的变量?在Visual Studio 2010中运行程序时,为什么列表不显示?

因为需要在使用对象之前创建对象,构造函数会设置对象,以备使用。这就是为什么会出现此错误

用这样的东西

List<string[]> users = new List<string[]>() ; 
使用:

而不是:

List<string[]> users;
Visual Studio允许您使用未分配的局部变量“users”error,因为您声明了users变量,但在whileline=file.ReadLine!=空块,因此用户将为空,执行此行时您将得到:

users.Add(lineData);
你必须改变这个

List<string[]> users;
对此

List<string[]> users = new List<string[]>();
List<string[]> users = new List<string[]>();