gpt4 book ai didi

c# - 匿名类型范围问题

转载 作者:太空狗 更新时间:2023-10-29 21:05:21 25 4
gpt4 key购买 nike

创建一个变量的正确方法是什么,该变量将包含通过 LINQ query 生成的匿名对象列表。同时将变量声明保持在 try/catch 之外以及在 try/catch 中处理的作业?

目前我将变量声明为 IEnumberable<object> ,但是当我稍后尝试使用它时,这会导致一些问题......

var variableDeclaration;
try{
...
assignment
...
}catch...

编辑:

如果相关(不认为相关),对象列表将作为 Json 返回来自 MVC3 操作的结果。我正在尝试减少一些 using 的时间语句与数据库一起打开,因为我遇到了一些我正在尝试解决的性能问题。在进行一些测试时,我遇到了这个问题,但似乎找不到相关信息。

编辑 2:

如果我可以要求避免关注 LINQ .虽然使用了 LINQ,但问题更具体地针对与 Anonymous 相关的范围问题。对象。不是使用 LINQ(在这种情况下)生成它们的事实。

此外,一些答案提到了使用 dynamic虽然这将编译它不允许我稍后在该方法上需要的用法。如果我想做的事不可能,那么目前答案似乎是创建一个新的 class使用我需要的定义并使用它。

最佳答案

可以通过创建通用的 Cast 方法来解决这个问题,正如 Jon Skeet 概述的那样 here .它会工作并为您提供所需的智能感知。但是,在这一点上,为您的 linq 方法创建自定义类型有什么问题?

public class MyClass
{
public int MyInt { get; set; }
}

IEnumerable<MyClass> myClass =
//Some Linq query that returns a collection of MyClass

关于c# - 匿名类型范围问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14554418/

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