避免在C#中调用多个函数

希拉克

当前使用C#编码,我想知道是否有一种方法可以分解如下所示的代码

Entity1 = GetByName("EntityName1");
Entity2 = GetByName("EntityName2");
Entity3 = GetByName("EntityName3");

这个想法是在代码中获得一个调用,通过将entitiesand和放置strings在一个容器中并在该容器上进行迭代来获得GetByName()一行代码,从而对代码进行分解有没有办法做到这一点?

帕纳吉奥提斯·卡纳沃斯(Panagiotis Kanavos)

您可以使用LINQ:

var names=new[]{"EntityName1","EntityName2","EntityName3",.....};
var entities=names.Select(name=>GetByName(name)).ToArray();

不使用ToArraySelect将返回一个IEnumerable,该值将在您每次枚举时重新进行赋值-也就是说,GetByName每次枚举该枚举时都会被调用。

ToArray()ToList将创建一个可以多次使用的数组(或列表)。

ToDictionary如果您希望能够通过名称访问实体,也可以致电

var entities=names.ToDictionary(name=>name,name=>GetByName(name));

所有这些都假定实体不存在,或者GetByName必须做一些重要的工作才能检索它们。如果实体存在,您只需将它们放入中Dictionary<String,Entity>如果实体具有Name属性,则可以ToDictionary在一个语句中用于创建字典:

var entities=new []{entity1,entity2,entity3,...};
var entitiesDict=entities.ToDictionary(entity=>entity.Name,entity=>entity);

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

避免多个函数调用?

来自分类Dev

使用F#中的多个参数调用C#函数

来自分类Dev

C#避免函数中的SQL注入

来自分类Dev

如何避免if语句并调用多个构造函数

来自分类Dev

如何避免if语句并调用多个构造函数

来自分类Dev

在C#文件中调用javascript函数

来自分类Dev

在函数C#中调用事件

来自分类Dev

如何在C#的if()语句中调用多个函数

来自分类Dev

通过函数指针在C#中调用C函数

来自分类Dev

通过函数指针在C#中调用C函数

来自分类Dev

调用函数C#

来自分类Dev

避免在jquery中重复函数调用?

来自分类Dev

是否可以在 C# 中监听函数调用(即将 C# 函数调用视为事件)?

来自分类Dev

函数调用中的多个括号

来自分类Dev

C ++中的多个虚拟继承抱怨特定的函数调用

来自分类Dev

多个文件函数调用C ++

来自分类Dev

避免在C#中使用多个if语句

来自分类Dev

C#中简化的类似于C宏的函数调用

来自分类Dev

从dll调用C函数后,C#代码中的ArithmeticException

来自分类Dev

调用更改C#中传递的参数的C dll函数

来自分类Dev

从C#中的C ++ DLL P /调用DLL函数

来自分类Dev

C#中简化的类似于C宏的函数调用

来自分类Dev

从 C# 程序访问 C++ DLL 中的多个函数

来自分类Dev

C#中如何处理多个异步方法调用

来自分类Dev

避免在C ++ 20中互斥函数调用的预处理器

来自分类Dev

当C#调用c ++函数时,是否可以在被调用的c ++函数中初始化数组并返回C#?

来自分类Dev

C#中的显式构造函数调用

来自分类Dev

C#测试-构造函数调用中的模拟类

来自分类Dev

从C#的子窗体调用类实例中的函数