String.Split问题

时间:2015-08-04 11:10:45

标签: c# split filestream

我尝试使用temp.Split结果初始化的字符串始终为null。 G.ReadLine()只是"name%path"格式。我还将编码更改为unicode,以确保文件和程序之间没有编码差异。

以下是相关片段:

StreamReader g = new StreamReader(path + "database.txt",Encoding.Unicode);

do
{
     String temp;
     temp = g.ReadLine();
     //wr.WriteLine(temp);
     try
     {
           names[ii] = temp.Split('%')[0];

感谢您的帮助

2 个答案:

答案 0 :(得分:1)

所以现在我们找到了问题的路线。 名称的实例化是错误的。

而不是

string[] names = null;

这样的东西
string[] names = new string[5];
必须使用

。这里的问题是你必须在数组包含多少个字符串之前。 我建议你使用一个字符串列表,如下所示:

List<string> names = new List<string>();

然后将其用于:

names.Add(temp.Split('%')[0]);

答案 1 :(得分:0)

"name%path".Split('%')[0]返回"name"

所以问题不是Split函数,而是temp哪个值没有"name%path"模式。