检查两个字符串是否相等

时间:2015-05-12 13:46:30

标签: c# string

我想检查一个文件第一行的字符串是否与另一个字符串相等。 尴尬的部分是,字符串是相同的,但我的程序不返回真值。 字符串为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

2 个答案:

答案 0 :(得分:4)

这可能是因为新行字符在文件中不是\ n。它可能是\ r \ n而不是。

请尝试File.ReadAllLines

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'字符