Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/294.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/linq/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/xslt/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 如何在linq操作后保留列表值?_C#_Linq_Azure - Fatal编程技术网

C# 如何在linq操作后保留列表值?

C# 如何在linq操作后保留列表值?,c#,linq,azure,C#,Linq,Azure,我正在查询azure表。获取数据后,我将执行linq select操作并获取修改后的值。 但我想要两个列表,一个是旧值列表,另一个是新值列表 var oldUserEntities = userEntities.ToList(); var newUserEntities = userEntities.Select(i => { i.RowKey = dict[i.RowKey]; return i; }).ToList(); 在这段代码之后,如果我验证OldUserEntities和ne

我正在查询azure表。获取数据后,我将执行linq select操作并获取修改后的值。 但我想要两个列表,一个是旧值列表,另一个是新值列表

var oldUserEntities = userEntities.ToList();
var newUserEntities = userEntities.Select(i => { i.RowKey = dict[i.RowKey]; return i; }).ToList();
在这段代码之后,如果我验证OldUserEntities和newUserEntities中的值,它们都具有相同的修改值。
如何创建旧列表和新列表?

我不太确定您在这里想做什么,但是

> i => { i.RowKey = dict[i.RowKey]; return i }
正在更改列表中每个对象的RowKey。“returni”然后创建一个列表,其中包含相同的、现在已修改的对象

这一切真正做的是

foreach(i in userEntities)
  i.RowKey = dict[i.RowKey]

然后复制列表,这是因为投影中的
i
引用了
oldUserEntities
中的原始项,然后
i.RowKey
修改了原始数据

请尝试以下操作(假设您的实体名为
UserEntity
):


尝试使用oldUserEntities.Select(i=>{i.RowKey=dict[i.RowKey];返回i;}).ToList();使用
.select()
方法选择的具体内容是什么?
用户实体的类型和来源是什么?
用户实体的类型为“DynamicTableEntity”
var oldUserEntities = userEntities.ToList();
var newUserEntities = userEntities.Select(i => new UserEntity
{
    RowKey = dict[i.RowKey],
    // rest of desired properties ...
}).ToList();