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])};
}
}
错误提示:输入字符串的格式不正确。正确的写法是什么呢?
解决方案 »
- 在设计系统的时候,当设计完二个公共类后,运行时出现“不包含适合于入口点的静态”main方法
- 【Gridview】中XX.Attributes["OnClientClick"]的问题
- 请问C#如何从Outlook里面获取邮件信息
- gridview很奇怪的问题
- VS2005下 DataReader 转为 DataTable 遇到困难 解决即揭贴
- ClickOnce发布的应用程序,安装时怎样在桌面建立快捷方式?????
- c#奇怪的panel显示/隐藏
- 一个WINFORM可执行程序,点击运行后,当再次点击运行时,不打开新程序,因为已经打开一个了。。这个怎么实现。。??
- 关于String.Empty和""的区别
- 幫忙解決datagrid tooltip的問題
- 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";
}
}