如何执行下面提到的任务(vb.net)?
How to perform the below mentioned task(vb.net)?
Dim cells = From Qmaxminslist As DataGridViewRow In DataGridView2.Rows.Cast(Of DataGridViewRow)() Take Integer.Parse(daysamaxminsmv.Text)
For Each row As DataGridViewRow In cells
// piece of code...
Next
我在 C# 中将此代码转换为:
dynamic cells = from Qmaxminslist in DataGridView2.Rows.Cast<DataGridViewRow>() select (int.Parse(daysamaxminsmv.Text));
foreach (DataGridViewRow row in cells)
{
// piece of code...
}
但是 foreach 语句中出现了一个异常:
"Cannot convert type 'int' to 'System.Windows.Forms.DataGridViewRow'"
如何解决?
任何帮助将不胜感激。谢谢
你没有正确转换。 VB代码选择DataGridViewRows
,C#代码选择ints
。你想拿 N 行。 VB.NET直接在LINQ查询中支持Enumerable.Take
,C#不支持。所以我会在 C# 中使用方法语法。
所以这按预期工作(不要将 Dim
翻译成 dynamic
,而是 var
):
int takeRows = int.Parse(daysamaxminsmv.Text);
var rows = DataGridView2.Rows.Cast<DataGridViewRow>().Take(takeRows);
foreach (DataGridViewRow row in rows)
{
// piece of code...
}
Dim cells = From Qmaxminslist As DataGridViewRow In DataGridView2.Rows.Cast(Of DataGridViewRow)() Take Integer.Parse(daysamaxminsmv.Text)
For Each row As DataGridViewRow In cells
// piece of code...
Next
我在 C# 中将此代码转换为:
dynamic cells = from Qmaxminslist in DataGridView2.Rows.Cast<DataGridViewRow>() select (int.Parse(daysamaxminsmv.Text));
foreach (DataGridViewRow row in cells)
{
// piece of code...
}
但是 foreach 语句中出现了一个异常:
"Cannot convert type 'int' to 'System.Windows.Forms.DataGridViewRow'"
如何解决? 任何帮助将不胜感激。谢谢
你没有正确转换。 VB代码选择DataGridViewRows
,C#代码选择ints
。你想拿 N 行。 VB.NET直接在LINQ查询中支持Enumerable.Take
,C#不支持。所以我会在 C# 中使用方法语法。
所以这按预期工作(不要将 Dim
翻译成 dynamic
,而是 var
):
int takeRows = int.Parse(daysamaxminsmv.Text);
var rows = DataGridView2.Rows.Cast<DataGridViewRow>().Take(takeRows);
foreach (DataGridViewRow row in rows)
{
// piece of code...
}