如何比较两个二维数组
我正在使用 Visual Studio C# win 形式。 。 。我有 2d 文本框数组,还有另一个 2d 有效解决数独数组,我想将文本框的文本与数独数组进行比较,但它不起作用。这是我的代码:
private void Isvalid()
{
for (int i = 0; i < 4; i++)
for (int j = 0; j < 4; j++)
if (copy[i, j] == textbox[i, j].Text)
isvalid = true;
}
private void check()
{
Isvalid();
if (isvalid)
MessageBox.Show("NO");
else
MessageBox.Show("YES");
}
任何人都可以帮助我吗? 。 。 提前致谢。 。 。 感谢所有回答的人。 。 。
i am using visual studio c# win form. . . i have 2d array of textboxes and i have another 2d array of valid solved sudoku i want to compare textbox's text to sudoku array but its not working.Here is my code:
private void Isvalid()
{
for (int i = 0; i < 4; i++)
for (int j = 0; j < 4; j++)
if (copy[i, j] == textbox[i, j].Text)
isvalid = true;
}
private void check()
{
Isvalid();
if (isvalid)
MessageBox.Show("NO");
else
MessageBox.Show("YES");
}
Can anyone plz help me. . .
THANx in Advance. . .
Thanx to all who answerd. . .
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(4)
如果数组不相等,则不要将
isvalid
变量(重新)设置为 false。您通过共享变量传递
Isvalid
方法的结果。如果将比较结果作为方法结果传递,您的代码将会更加清晰。现在您可以测试:
如果将两个数组作为参数传递,效果会更好。
You do not (re)set the
isvalid
variable to false, if the arrays are not equal.You pass the result of the
Isvalid
method through a shared variable. Your code will be much clearer if you pass the result of the comparison as the method result.Now you can test for:
Even better will be if you pass the two arrays as arguments.
我会在该行上放置一个断点
,并直观地查看您在文本框中看到的内容是否是数组包含的内容。
它可能就像需要进行不区分大小写的比较一样简单。
I would put a breakpoint on the
line and visually see if what you see in the Text box is what the array contains.
It might be as simple as needing to do a case-insensitive comparison.
textbox[i, j].Text
这里需要将文本框矩阵中的值转换为整数后再进行比较。这样问题就解决了。
此外,您还需要将 invalid 设置为 false,并在使其为 true 后跳出循环
textbox[i, j].Text
here you need to convert the values in the textbox matrix to integer before comparing. That will solve the problem.
Also you need to set invalid as false and after making it true break out of loop
试试这个:
在您的例程中,只要有一个数字匹配,您就将 isvalid 设置为 true。如果数字不匹配,您需要将其设置为 false。
Try this:
In your routine, you'd set isvalid to true whenever one number matches. You'd rather need to set it to false if a number doesn't match.