for (int r = 3; r < dataGrid.Rows.Count; r++)
{
for (int c = 2; c <= 4; c++)
{
var ssq = new List<int>(3) {Convert.ToInt32(listGrid[r - 2,c])};
var sq = new List<int>(3) {Convert.ToInt32(listGrid[r - 1, c])};
var bq = new List<int>(3) {Convert.ToInt32(listGrid[r, c])};
}
}
错误提示:输入字符串的格式不正确。正确的写法是什么呢?
解决方案 »
- 关于控件WINDOWS服务的两个问题
- 关于WinForm的一个常用性问题
- [讨论]用C#自己写了一个连接池但是发现有错误
- c#多线程问题(.net 2010)
- 快来救火呀,关于全屏的事老不理想。最后的的分全散了。急急急
- [求助]关于C#和VC的比较
- ======急问一个简单的问题,自己有点糊了=====
- 用Array的Sort方法,对double型的数组排序
- C#中调用WINDOWS API函数
- c#.net应用中,怎么在点击一个按钮后,弹出一个对话框,对话框上面显示警告图标,和是,否,取消????????
- MDI程序其中一个子窗体改变数据库,怎样让其他子窗体知道呢?
- C# 字符串截取最优方法探讨?
我有使用 convert.toint32 的嘛
这个表达方法是正确的,我用的c1FlexGrid表格控件,没用dgv
[row-1,1][row-1,2][row-1,3]
[row-2,1][row-2,2][row-2,3]判断是否数值的 contain 方法是不是该用 int[] 数组啊
var c2 = listGrid[r - 1, c];
var c3 = listGrid[r, c];
Console.WriteLine(c1);
Console.WriteLine(c2);
Console.WriteLine(c3);
var ssq = new List<int>(3) { Convert.ToInt32(listGrid[r - 2, c]) };
var sq = new List<int>(3) { Convert.ToInt32(listGrid[r - 1, c]) };
var bq = new List<int>(3) { Convert.ToInt32(listGrid[r, c]) };加上这几行打印结果看看是不是整数形式
value does not consist of an optional sign followed by a sequence of digits (0 through 9).来自msdn:
http://msdn.microsoft.com/en-us/library/sf1aw27b.aspx
for (int r = 4; r < dataGrid.Rows.Count; r++)
{
List<int> ssq = new List<int>(3);
ssq.Add(Convert.ToInt32(listGrid[r - 2, 2]));
ssq.Insert(1,Convert.ToInt32(listGrid[r - 2, 3]));
ssq.Insert(2,Convert.ToInt32(listGrid[r - 2, 4])); foreach (int val in ssq)
{
listGrid[r, 16] = val;
}
}
我这样写,怎么调试只显示了最后一个数值呢?
{
listGrid[r, 16] = val;
}
你把3个值赋给同一个单元格,当然只剩下最后一个会显示了
591 //r-1行
871 //r行 for (int r = 4; r < dataGrid.Rows.Count; r++)
{
List<int> ssq = new List<int>(3);
ssq.Add(Convert.ToInt32(listGrid[r - 2, 2]));
ssq.Add(Convert.ToInt32(listGrid[r - 2, 3]));
ssq.Add(Convert.ToInt32(listGrid[r - 2, 4])); if (ssq.Contains(1))
{
listGrid[r, 16] = "ok";
}
listGrid[r, 16] = "no";
}显示 no, 明明有啊
[i-1,1][i-2,2][i-3,3]
[i,1][i,2][i,3]这9个单元格里判断是否有 三连号,然后把判断结果“三连”填在[i,10]返回在这9个单元格里是否有 2-1-0
[i,11]返回在这9个单元格里是否有 3-2-1
[i,12]返回在这9个单元格里是否有 4-3-2 或 0-1-2
......
[i,17]返回在这9个单元格里是否有 9-8-7 或 5-6-7
[i,18]返回在这9个单元格里是否有 6-7-8
[i,19]返回在这9个单元格里是否有 7-8-9
[2,2] = 3
[2,3] = 9
[2,4] = 3
List<int> ssq = new List<int>();
ssq.Add(Convert.ToInt32(listGrid[2, 2]));
ssq.Add(Convert.ToInt32(listGrid[2, 3]));
ssq.Add(Convert.ToInt32(listGrid[2, 4]));
if (ssq.Contains(3))
{
listGrid[2, 16] = "yes";
}
listGrid[2, 16] = "no";正确显示yes for (int c = 2; c <= 4; c++)
{
List<int> ssq = new List<int>();
ssq.Add(Convert.ToInt32(listGrid[2, c]));
if (ssq.Contains(3))
{
listGrid[2, 16] = "yes";
}
listGrid[2, 16] = "no";
}但如果用到循环,则显示no,明显错了
是哪里错了呢?
{
List<int> ssq = new List<int>();
ssq.Add(Convert.ToInt32(listGrid[2, c]));
if (ssq.Contains(3))
{
listGrid[2, 16] = "yes"; // 坐标写死,循环就看最后个值了
}
else
{
listGrid[2, 16] = "no";
}
}