gpt4 book ai didi

c# 在列表中添加一些值

转载 作者:塔克拉玛干 更新时间:2023-11-03 06:26:45 28 4
gpt4 key购买 nike

我写了一些代码:

List<DataRow> rows=new <DataRow>();
foreach (DataRow dtRow in sqlRows)
{
foreach (DataRow dtRowId in dttRows1)
{
if (Convert.ToInt32(dtRowId[0]) == Convert.ToInt32(dtRow[1]))
rows.Add(dtParRow);
}
}

我可以用更有效的方式来写吗?可以使用 LINQ 吗?或者其他一些算法?

附言sqlRows 和 dttRows1 是列表。我用这样的查询从表中抓取它:“从表名中选择 *”;

最佳答案

您可以只使用带有连接的 LINQ,这比嵌套方法更有效:

var query = from dtRow in sqlRows
join dtRowId in dttRows1
on Convert.ToInt32(dtRow[1]) equals Convert.ToInt32(dtRowId[0])
select ???; // dtParRow is unknown. Did you mean dtRow?
var list = query.ToList();

请注意,如果这些值已经是 int值(因此不需要解析等),然后改为转换:

var query = from dtRow in sqlRows
join dtRowId in dttRows1
on (int) dtRow[1] equals (int) dtRowId[0]
select ???; // dtParRow is unknown. Did you mean dtRow?
var list = query.ToList();

或者使用 Field<T> extension method (同样,仅当它们已经是不需要转换的 int 值时):

var query = from dtRow in sqlRows
join dtRowId in dttRows1
on dtRow.Field<int>(1) equals dtRowId.Field<int>(0)
select ???; // dtParRow is unknown. Did you mean dtRow?
var list = query.ToList();

关于c# 在列表中添加一些值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24278177/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com