我尝试使用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];
感谢您的帮助
答案 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"
模式。