我想检查一个文件第一行的字符串是否与另一个字符串相等。
尴尬的部分是,字符串是相同的,但我的程序不返回真值。
字符串为teach
,文件的第一行也为teach
。
string date = System.IO.File.ReadAllText(folder + "/NPC/" + score_npc + "/" + score_npc + ".txt" );
if (condition)
{
string[] parametrii = date.Split('\n');
if (parametrii[0].Equals("teach"))
//instructions
我尝试了所有的比较方法,我也做了自己的功能。我的功能告诉我(parametrii[0])[0] == b
以下是文件的外观:
teach
poza1
poza2
end
答案 0 :(得分:4)
这可能是因为新行字符在文件中不是\ n。它可能是\ r \ n而不是。
string[] lines = System.IO.File.ReadAllLines(folder + "/NPC/" + score_npc + "/" + score_npc + ".txt" );
if (condition)
{
if (lines[0].Equals("teach"))
// instructions
}
修改强>
正如Grant Winney建议的那样,如果你只需要操纵第一行(或不是全部)文件,你可以使用File.ReadLines:
string firstLine = File.ReadLines(path).First();
代替。
答案 1 :(得分:1)
你有没有试过改变
string[] parametrii = date.Split('\n');
到
string[] parametrii = date.Split(Environment.NewLine);?
我怀疑是因为你的字符串包含'\ r'字符