C# DR是一个DataRow,您仍然需要先转换为string,然后才能TryParse。感谢我的朋友们为您提供的所有提示—所有解决方案都很好,很有效,谢谢所有朋友,很抱歉提出这个问题。我没有转换专业知识。我知道我是唯一的皈依者。关于convert的参考资料?如
C# DR是一个DataRow,您仍然需要先转换为string,然后才能TryParse。感谢我的朋友们为您提供的所有提示—所有解决方案都很好,很有效,谢谢所有朋友,很抱歉提出这个问题。我没有转换专业知识。我知道我是唯一的皈依者。关于convert的参考资料?如,c#,linq,datatable,C#,Linq,Datatable,DR是一个DataRow,您仍然需要先转换为string,然后才能TryParse。感谢我的朋友们为您提供的所有提示—所有解决方案都很好,很有效,谢谢所有朋友,很抱歉提出这个问题。我没有转换专业知识。我知道我是唯一的皈依者。关于convert的参考资料?如果设计数据库的人有理由将ProductID设置为varchar列,那么最好使用decimal.TryParse。这是一个有效的选项,但取决于要求。由于DR是一个DataRow,您仍然需要先转换为string,然后才能TryParse。感谢我的朋
DR
是一个DataRow
,您仍然需要先转换为string,然后才能TryParse
。感谢我的朋友们为您提供的所有提示—所有解决方案都很好,很有效,谢谢所有朋友,很抱歉提出这个问题。我没有转换专业知识。我知道我是唯一的皈依者。关于convert的参考资料?如果设计数据库的人有理由将ProductID
设置为varchar列,那么最好使用decimal.TryParse
。这是一个有效的选项,但取决于要求。由于DR
是一个DataRow
,您仍然需要先转换为string,然后才能TryParse
。感谢我的朋友们为您提供的所有提示都很好且有效的解决方案,感谢所有的朋友们,并对您的问题表示抱歉。我没有转换专业知识。我知道我是唯一的皈依者。关于转换的参考资料?这是正确的(+1)。也许OP只是想尽量利用他无法改变的糟糕局面。谁没有遇到过正确的解决方案存在的情况,但你必须用一个肮脏的解决方案来解决一个你没有引起并且无法改变的问题?这是正确的(+1)。也许OP只是想尽量利用他无法改变的糟糕局面。谁没有遇到过正确的解决方案,但你必须用一个肮脏的解决方案来解决你没有引起的问题,你不能改变?谢谢Tim,id是所有tbl是数字,id中根本没有字符。谢谢Tim,id是所有tbl是数字,id中根本没有字符。
product id product name
---------- ------------
1 a 300
3 2 200
string Model_Names = text.tostring();
Decimal Model_ID = (from DataRow DR in dt_ProductName.Rows
where (string)DR["ProductName"]== Model_Names
select (decimal) DR["ProductID"]).FirstOrDefault();
for (int xx = 0; xx > dt_ProductName.Rows.Count;xx++ )
{
if (dt_ProductName.Rows[xx][1].ToString() == Model_Names)
{
Model_ID = (decimal)dt_ProductName.Rows[xx][0];
}
else
{
continue;
}
}
Convert.ToDecimal(DR["ProductID"])
DataRow row = dt_ProductName.AsEnumerable()
.FirstOrDefault(r => r.Field<string>("ProductName") == Model_Names);
decimal Model_ID = -1;
if(row != null && decimal.TryParse(row.Field<string>("ProductId"), out Model_ID))
{
Console.WriteLine($"Product {Model_Names} found, ProductId = {Model_ID}");
}