C# 比较两个字符串的值
您好,这可能看起来很复杂,没有什么上下文,但我有一个名为“text”的变量,它包含活动窗口的名称,例如Chrome。问题是它会在我点击任何一个窗口后改变,例如当我点击10次时,它会连续10次变成Chrome,而当我从一个新窗口点击时,它只会改变 为了克服这个问题,我想制作一个名为“lastwindow”的字符串来保存我打开的最后一个窗口的文本,当它即将显示“文本”时,它将查看它是否与“lastwindow”相同,如果不相同,则将其添加到大文本框中 测试后,两个变量都持有相同的字符串,但当我将其放在else位下时,它仍然会将自己添加到文本框中C# 比较两个字符串的值,c#,C#,您好,这可能看起来很复杂,没有什么上下文,但我有一个名为“text”的变量,它包含活动窗口的名称,例如Chrome。问题是它会在我点击任何一个窗口后改变,例如当我点击10次时,它会连续10次变成Chrome,而当我从一个新窗口点击时,它只会改变 为了克服这个问题,我想制作一个名为“lastwindow”的字符串来保存我打开的最后一个窗口的文本,当它即将显示“文本”时,它将查看它是否与“lastwindow”相同,如果不相同,则将其添加到大文本框中 测试后,两个变量都持有相同的字符串,但当我将其放
try
{
if (GetWindowText(hwnd, text, Capacity) > 0)
{
if (ActiveWindowName != text.ToString())
{
string compare = text.ToString();
if (LastWindow.Equals(compare))
{
TxtBody.Text += "same";
}
else
{
TxtBody.Text += "<br><font color = purple>[" +
text.ToString() + "]</font><br>";
LastWindow = text.ToString();
}
}
}
}
catch {}
试试看
{
如果(GetWindowText(hwnd,文本,容量)>0)
{
if(ActiveWindowName!=text.ToString())
{
字符串比较=text.ToString();
if(LastWindow.Equals(比较))
{
TxtBody.Text+=“相同”;
}
其他的
{
TxtBody.Text+=“
[”+
text.ToString()+“]
”;
LastWindow=text.ToString();
}
}
}
}
捕获{}
刚刚发现了什么问题,我在函数中声明了lastwindow=“”,这样每次单击窗口时它都会清除。我应该把这段代码放进去,但无论如何还是要感谢大家当您在if(LastWindow.Equals(compare))行中放置断点时,LastWindow和compare的值是多少?在第一次运行时,lastwindows不包含任何内容,compare包含“visual studio”。如果我点击visual studio强制它再次运行,它们都是相同的catch{}
是你通往地狱的私人路径-不要使用神奇宝贝异常处理。我需要一个catch来尝试,我想我刚刚意识到我做错了什么,等等,你可能应该删除这个问题。您没有足够的问题信息,无法让其他人解决。