与文本相比,它非常简单,但我仍然坚持比较两篇文章。 在C#中,我创建了一个函数 splitText ,它将文本拆分为定义的字符数,然后我将拆分文本分配给字符串变量,然后与另一个字符串进行比较,但比较不起作用。
以下是splitText函数
private string splitText(string Text, int startingIndex, int totalCharacters)
{
string s = "";
char[] str = new char[100];
int count = 0;
for (int i = startingIndex; i <= totalCharacters; i++)
{
str[count++] = Text[i];
}
s = new string(str);
return s;
}
以下是我比较字符串但不起作用的代码
private void button1_Click(object sender, EventArgs e)
{
string s = splitText("Khuram Jan", 0, 2);
if (s.Equals("Khu"))
{
MessageBox.Show("I have done");
}
else
{
MessageBox.Show("Does not compare");
}
}
我还显示了字符串 s 值,它显示 Khu ,但它不起作用在if条件下,alwys else部分执行。我测试了很多但是徒劳无法解决这个问题。
答案 0 :(得分:1)
您的代码将名为totalCharacters
的变量视为endIndex
。但真正的问题是你返回一个长度为100的字符串,前3个字符Khu
。请改为new string(str, 0, count)
。
答案 1 :(得分:0)
问题是,您没有得到确切的图表长度字符串返回值。在你的情况下,你将返回“Khu \ 0 \ 0 \ 0 ....”
修改后的行是
char[] str = new char[totalCharacters+1];
顺便说一下,你也可以使用以下!
string s1 = "Khuram Jan".Substring(0, 3);