C# 选择列表中的元素作为字符串列表

2024-01-11

在 C# 中,我需要将对象列表中特定属性的所有值获取到字符串列表中

List<Employee> emplist = new List<Employee>()
                                {
                                 new Employee{ EID=10, Ename="John"},
                                 new Employee{ EID=11, Ename="Adam"},
                                 new Employee{ EID=12, Ename="Ram"}
                                };
List<string> empnames = emplist.//get all Enames in 'emplist' object into list
                         //using linq or list functions or IENumerable  functions

我熟悉 foreach 方法来提取值,但我想知道if \ 如何可能使用 linq 或 IEnumerable 函数或一些较短的代码,用于将列表对象属性值中的值提取到字符串对象中。

我的查询类似于C# 从 IList 中选择元素 https://stackoverflow.com/questions/2616891/c-sharp-select-elements-from-ilist但我想要结果作为字符串列表


List<string> empnames = emplist.Select(e => e.Ename).ToList();

这是一个例子Linq 中的投影 http://msdn.microsoft.com/en-us/library/bb738447.aspx。随后是一个ToList来解决IEnumerable<string> into a List<string>.

或者使用 Linq 语法(头编译):

var empnamesEnum = from emp in emplist 
                   select emp.Ename;
List<string> empnames = empnamesEnum.ToList();

投影基本上是将可枚举的当前类型表示为新类型。您可以通过调用构造函数等来投影到匿名类型、另一种已知类型,或者其中一个属性的可枚举类型(如您的情况)。

例如,您可以投影一个可枚举的Employee到可枚举的Tuple<int, string>像这样:

var tuples = emplist.Select(e => new Tuple<int, string>(e.EID, e.Ename));
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

C# 选择列表中的元素作为字符串列表 的相关文章

  • 每个托管线程是否都有自己对应的本机线程?

    我想知道是否在 Net 中创建托管线程 通过调用Thread Start 导致在后台创建一个本机线程 那么托管线程是否有对应的本机线程呢 如果是 当托管线程等待或睡眠时 是否意味着相应的本机线程也在等待或睡眠 是的 NET 线程映射到所有当
  • 为什么 int8_t 和用户通过 cin 输入显示奇怪的结果[重复]

    这个问题在这里已经有答案了 一小段代码让我发疯 但希望你能阻止我跳出窗外 看这里 include
  • 如何将 protobuf-net 与不可变值类型一起使用?

    假设我有一个像这样的不可变值类型 Serializable DataContract public struct MyValueType ISerializable private readonly int x private readon
  • 提交后禁用按钮

    当用户提交付款表单并且发布表单的代码导致 Firefox 中出现重复发布时 我试图禁用按钮 去掉代码就不会出现这个问题 在firefox以外的任何浏览器中也不会出现这个问题 知道如何防止双重帖子吗 System Text StringBui
  • 在 C 中匹配二进制模式

    我目前正在开发一个 C 程序 需要解析一些定制的数据结构 幸运的是我知道它们是如何构造的 但是我不确定如何在 C 中实现我的解析器 每个结构的长度都是 32 位 并且每个结构都可以通过其二进制签名来识别 举个例子 有两个我感兴趣的特定结构
  • 使用 LINQ2SQL 在 ASP.NET MVC 中的各种模型存储库之间共享数据上下文

    我的应用程序中有 2 个存储库 每个存储库都有自己的数据上下文对象 最终结果是我尝试将从一个存储库检索到的对象附加到从另一个存储库检索到的对象 这会导致异常 Use 构造函数注入将 DataContext 注入每个存储库 public cl
  • 复制目录内容

    我想将目录 tmp1 的内容复制到另一个目录 tmp2 tmp1 可能包含文件和其他目录 我想使用C C 复制tmp1的内容 包括模式 如果 tmp1 包含目录树 我想递归复制它们 最简单的解决方案是什么 我找到了一个解决方案来打开目录并读
  • java.io.Serialized 在 C/C++ 中的等价物是什么?

    C C 的等价物是什么java io Serialized https docs oracle com javase 7 docs api java io Serializable html 有对序列化库的引用 用 C 序列化数据结构 ht
  • 为什么 Google 测试会出现段错误?

    我是 Google Test 的新手 正在尝试提供的示例 我的问题是 当我引入失败并设置GTEST BREAK ON FAILURE 1 或使用命令行选项 GTest 将出现段错误 我正在考虑这个例子 https code google c
  • 为什么调用非 const 成员函数而不是 const 成员函数?

    为了我的目的 我尝试包装一些类似于 Qt 共享数据指针的东西 经过测试 我发现当应该调用 const 函数时 会选择它的非 const 版本 我正在使用 C 0x 选项进行编译 这是一个最小的代码 struct Data int x con
  • 如何在 32 位或 64 位配置中以编程方式运行任何 CPU .NET 可执行文件?

    我有一个可在 32 位和 64 位处理器上运行的 C 应用程序 我试图枚举给定系统上所有进程的模块 当尝试从 64 位应用程序枚举 32 位进程模块时 这会出现问题 Windows 或 NET 禁止它 我认为如果我可以从应用程序内部重新启动
  • 如何禁用 fread() 中的缓冲?

    我正在使用 fread 和 fwrite 读取和写入套接字 我相信这些函数用于缓冲输入和输出 有什么方法可以在仍然使用这些功能的同时禁用缓冲吗 Edit 我正在构建一个远程桌面应用程序 远程客户端似乎 落后于服务器 我不知道可能是什么原因
  • 为什么 std::strstream 被弃用?

    我最近发现std strstream已被弃用 取而代之的是std stringstream 我已经有一段时间没有使用它了 但它做了我当时需要做的事情 所以很惊讶听到它的弃用 我的问题是为什么做出这个决定 有什么好处std stringstr
  • 外键与独立关系 - Entity Framework 5 有改进吗?

    我读过了several http www ladislavmrnka com 2011 05 foreign key vs independent associations in ef 4 文章和问题 https stackoverflow
  • CMake 无法确定目标的链接器语言

    首先 我查看了this https stackoverflow com questions 11801186 cmake unable to determine linker language with c发帖并找不到解决我的问题的方法 我
  • Cmake 链接共享库:包含库中的头文件时“没有这样的文件或目录”

    我正在学习使用 CMake 构建库 构建库的代码结构如下 include Test hpp ITest hpp interface src Test cpp ITest cpp 在 CMakeLists txt 中 我用来构建库的句子是 f
  • 按 Esc 按键关闭 Ajax Modal 弹出窗口

    我已经使用 Ajax 显示了一个面板弹出窗口 我要做的是当用户按 Esc 键时关闭该窗口 这可能吗 如果有人知道这一点或以前做过这一点 请帮助我 Thanks 通过以下链接 您可以通过按退出按钮轻松关闭窗口 http www codepro
  • 方法优化 - C#

    我开发了一种方法 允许我通过参数传入表 字符串 列数组 字符串 和值数组 对象 然后使用这些参数创建参数化查询 虽然它工作得很好 但代码的长度以及多个 for 循环散发出一种代码味道 特别是我觉得我用来在列和值之间插入逗号的方法可以用不同的
  • 如何部署“SQL Server Express + EF”应用程序

    这是我第一次部署使用 SQL Server Express 数据库的应用程序 我首先使用实体 框架模型来联系数据库 我使用 Install Shield 创建了一个安装向导来安装应用程序 这些是我在目标计算机中安装应用程序所执行的步骤 安装
  • 使用 .NET Process.Start 运行时挂起进程 - 出了什么问题?

    我在 svn exe 周围编写了一个快速而肮脏的包装器来检索一些内容并对其执行某些操作 但对于某些输入 它偶尔会重复挂起并且无法完成 例如 一个调用是 svn list svn list http myserver 84 svn Docum

随机推荐

  • 为什么骨干路由需要默认路由

    我用backbone js 创建一个测试用例 http jsfiddle net VWBvs 5 http jsfiddle net VWBvs 5 路线定义为 var AppRouter Backbone Router extend ro
  • vararg 的 Scala 模式匹配

    我只是想在 scala 上做一些实践 并尝试自己实现 List concat 函数 这是代码 def concat A lists Traversable A List A println concat called lists match
  • 如何使用 Backbone.js,但以 NO-RESTful 方式?

    我现在是一名前端开发人员 我有一个项目用BackboneJS就可以了 服务端是别人写的 有谁可以告诉我如何以非 RESTful 方式覆盖删除 更新 添加等操作 服务器端的 URL 可能是这样的 add www domain com addB
  • 什么是属性对象?

    我对 python 并不陌生 但我有一个非常基本的问题 我在玩python 发现有 type 属性 gt gt gt property
  • 如何深度比较 2 个 Lua 表,它们可能有也可能没有表作为键?

    也发布在 Lua 邮件列表上 所以我一直在编写深复制算法 我想测试它们 看看它们是否按照我想要的方式工作 虽然我确实可以访问原始 gt 复制映射 但我想要一个通用的深度比较算法 该算法必须能够比较表键 表作为键 我的深度复制算法 可以在这里
  • 私有非常量和公共常量成员函数 - 和平共存?

    我正在尝试创建一个具有两个同名方法的类 用于访问私有成员 一种方法是公共且 const 限定的 另一种方法是私有且非常量的 由友元类使用 通过引用返回的方式修改成员 不幸的是 我收到编译错误 使用 g 4 3 当使用非常量对象调用该方法时
  • 带有 SVM 基分类器的 AdaBoost 的执行时间

    我刚刚用这些参数制作了一个 Adaboost 分类器 1 n estimators 50 2 base estimator svc 支持向量分类器 3 learning rate 1 这是我的代码 from sklearn ensemble
  • NETSDK1073:无法识别 FrameworkReference“Microsoft.AspNetCore.App”

    我使用 NET Core 5 0 100 preview 7 20366 6 Blazor webassemble Microsoft Visual Studio Community 2019 预览版 16 7 0 预览版 6 0 file
  • 在 Actionscript 上播放声音

    我有一个简单的拖放游戏 在 Flash 中启动并且大部分工作正常 我已经添加了我的动物 您可以将它们拖放到正确的位置 我还添加了声音 这样当动物被放到正确的位置时 它就可以工作 但是每次我将新动物添加到正确的位置时 它都会起作用 播放那个声
  • Objective-C 中的 NSBundle 和 mainBundle 是什么?

    关于iOS上的Objective C应用程序 我在Apple开发者网站上阅读了一些示例程序 我发现几乎所有的应用程序都包含一个词叫做 NSBundle https developer apple com documentation foun
  • 使用时间跨度对具有相同值的连续行进行分组

    抱歉标题含糊 我只是不知道如何描述这个难题 给出一个教室的时间表如下 Classroom CourseName Lesson StartTime EndTime 1001 Course 1 Lesson 1 0800 0900 1001 C
  • 在 ASP.NET 中发送大量电子邮件

    这是我发送大量电子邮件的代码 我想优化此代码以确保它能够正常工作并且可以成功发送所有电子邮件 我应该怎么办 我知道在发送之间设置中断可能很有用 但我该怎么做呢 主要问题是避免将电子邮件分类为垃圾邮件并减少发送失败的电子邮件数量 var li
  • 使用 Chrome Identity API 获取 id_token

    我正在开发一个 Google Chrome 扩展程序 以允许用户使用他们的 Google 帐户进行身份验证 我决定使用Chrome Identity API 要对我的应用程序中的用户进行身份验证 我需要获取 ID Token 签名令牌 有没
  • 未捕获的类型错误:无法读取 null 的属性“on”[重复]

    这个问题在这里已经有答案了 我收到这个未捕获的类型错误 我不确定是什么原因造成的 也许与 JQuery 有关 这是确切的代码 when add to cart link is clicked addtocart on click funct
  • 使用 javascript 将外部 .htm 文件加载到 div 中

    所以我得到了这个代码 JavaScript html a href file htm class ajax Link a 它在 Firefox 中完美运行 但是当我在 Chrome 中单击链接时 什么也没有发生 而 IE 只是打开一个包含该
  • R 中的 padr:以用户定义的间隔进行填充

    我正在以 5 分钟的时间间隔处理时间序列数据 部分 5 分钟时间序列缺失 我想对数据集重新采样 以用 NaN 值填充缺失的 5 分钟时间段 我在这里找到了有关如何解决此问题的大量信息 R 插入缺少日期 时间的行 https stackove
  • 在数组中查找几个感兴趣的区域

    假设我进行了一项实验 其中我让 python 程序运行了很长一段时间 在那段时间里 我对一些数量与时间的关系进行了多次测量 每次测量都以 1 到 3 秒之间的某个值分隔 所使用的时间步长比该值小得多 比如 0 01 秒 即使只取 y 轴 这
  • 使用 FFmpeg 中的 libavcodec 解码作品

    我正在尝试使用 libavcodec 解码作品 我可以单独使用 libopus 库来做到这一点 但我正在尝试使用 libavcodec 实现相同的目标 我试图弄清楚为什么它在我的情况下不起作用 我有一个 rtp 流并尝试对其进行解码 解码数
  • 在 Google Cloud Vision API 中指定响应语言

    我正在使用 Google Cloud Vision API 来检测给定图像中的地标 网络实体和其他内容 查看文档here https cloud google com vision docs libraries 我专门使用 images a
  • C# 选择列表中的元素作为字符串列表

    在 C 中 我需要将对象列表中特定属性的所有值获取到字符串列表中 List