根据.net核心中var中的条件插入对象列表/自定义模型列表

Posted

技术标签:

【中文标题】根据.net核心中var中的条件插入对象列表/自定义模型列表【英文标题】:Depending on condition insert list of object/ list of custom model in var in .net core 【发布时间】:2021-12-23 01:24:21 【问题描述】:

我有一个条件,我正在使用键值对创建有效负载,并且根据条件,值会发生变化。在不使用dynamic 作为我的数据类型的情况下如何实现这一点?

dynamic finalList;
if(condition)
finalList = new List<object>() ...;
else
finalList = object.ExistingList;

我正在使用这个 finalList 作为有效负载中的一个值。

Placeholders = new Dictionary<string, object> 
   "keyForList", finalList 

在不使用 dynamic 作为finalList 的数据类型的情况下,我是否可以通过其他任何方式实现上述逻辑,因为我不知道使用它可能面临的未来挑战。此外,finalList 将来可能会进行进一步的计算。

【问题讨论】:

ExistingList的类型是什么? 【参考方案1】:

您的字典定义为Dictionary&lt;string, object&gt;。使用object 类型而不是dynamic

object finalList = condition 
  ? new List<object>() ...
  : object.ExistingList;

但是,我怀疑object.ExistingListIEnumerable。如果是这样,则对两个列表使用通用接口:

IEnumerable<object> finalList = condition 
  ? new List<object>() ...
  : object.ExistingList;

【讨论】:

以上是关于根据.net核心中var中的条件插入对象列表/自定义模型列表的主要内容,如果未能解决你的问题,请参考以下文章

android实现多条件筛选列表菜单筛选菜单

将 C# 对象列表中的多行数据插入 Oracle 12 数据库中的表中

根据另一个列表中的条件删除一个列表中的某些元素

.net 核心请求列表参数始终为空

如何根据条件禁用列表项 - ASP.NET C#

根据判断条件删除数组(对象)中的某一项