Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/gwt/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 比较两个字符串的值_C# - Fatal编程技术网

C# 比较两个字符串的值

C# 比较两个字符串的值,c#,C#,您好,这可能看起来很复杂,没有什么上下文,但我有一个名为“text”的变量,它包含活动窗口的名称,例如Chrome。问题是它会在我点击任何一个窗口后改变,例如当我点击10次时,它会连续10次变成Chrome,而当我从一个新窗口点击时,它只会改变 为了克服这个问题,我想制作一个名为“lastwindow”的字符串来保存我打开的最后一个窗口的文本,当它即将显示“文本”时,它将查看它是否与“lastwindow”相同,如果不相同,则将其添加到大文本框中 测试后,两个变量都持有相同的字符串,但当我将其放

您好,这可能看起来很复杂,没有什么上下文,但我有一个名为“text”的变量,它包含活动窗口的名称,例如Chrome。问题是它会在我点击任何一个窗口后改变,例如当我点击10次时,它会连续10次变成Chrome,而当我从一个新窗口点击时,它只会改变

为了克服这个问题,我想制作一个名为“lastwindow”的字符串来保存我打开的最后一个窗口的文本,当它即将显示“文本”时,它将查看它是否与“lastwindow”相同,如果不相同,则将其添加到大文本框中

测试后,两个变量都持有相同的字符串,但当我将其放在else位下时,它仍然会将自己添加到文本框中

            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来尝试,我想我刚刚意识到我做错了什么,等等,你可能应该删除这个问题。您没有足够的问题信息,无法让其他人解决。