首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >将列表的on类型转换为另一种类型

将列表的on类型转换为另一种类型
EN

Stack Overflow用户
提问于 2015-03-01 23:43:25
回答 4查看 104关注 0票数 1

我有两个类- RecordRecordModified

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
public  class Record
{
    public int RecordID { get; set; }
    public int FacilityID { get; set; }
    public int NewAID { get; set; }
    public string OldID { get; set; }
    public string Data { get; set; }
    public int SyncStatusID { get; set; }
    public int RecordTypeID { get; set; }//RecordTypeID is integer here.

}

第二类

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
public  class RecordModified
{
    public int RecordID { get; set; }
    public int FacilityID { get; set; }
    public int NewAID { get; set; }
    public string OldID { get; set; }
    public string Data { get; set; }
    public int SyncStatusID { get; set; }
    public string RecordTypeText { get; set; }//RecordTypeText is string here.
 }

我有至少100个Record对象的记录列表,现在我必须将List<Record>转换为List<RecordModified>。必须使用位于不同类中的RecordTypeID s将Record类的enum属性转换为RecordModified的属性RecordTypeText

关于我如何进行转换的代码片段:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
 foreach(Record r in List<Record>)
 {
   switch(r.RecordTypeID)
   {
     case (int)MyEnum.One:
     listofRecordModified.Add(new RecordModified{RecordTypeID=r.RecordTypeID,...,**RecordTypeText=(MyEnum.One).ToString()})** // Notice this
     break;
     ...........//75 more cases.
    }

这个解决方案很好,但问题是很多代码,我不认为它是有效的。一定有更好的方法。请建议一下。

EN

回答 4

Stack Overflow用户

回答已采纳

发布于 2015-03-01 23:55:45

我认为您可以同时使用ConvertAll方法

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
List<Record> t = new List<Record>();

            var result = t.ConvertAll(x => new RecordModified()
                {
                    RecordTypeText = ((MyEnum)x.RecordTypeID).ToString()
                });
票数 3
EN

Stack Overflow用户

发布于 2015-03-01 23:51:28

如果您唯一的问题是将enum的索引转换为它的文本,则可以使用GetNames并使用索引来获取所使用的enum值的名称。

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
string text = Enum.GetNames(typeof(MyEnum))[r.RecordTypeID];

这样,您就不需要switch语句,并且只能恢复到一行。

票数 2
EN

Stack Overflow用户

发布于 2015-03-01 23:52:32

您只需使用您可以使用的(MyEnum)x.RecordTypeID将整数值转换为匹配的enum值。然后使用该.ToString()获取字符串值.Linq Lambda expressions如下所示,

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
var result = RecordList.Select(x=>new RecordModified{
                              RecordTypeID=x.RecordTypeID,
                               ...,
                              RecordTypeText=((MyEnum)x.RecordTypeID).ToString()
                            });

您也可以使用ConvertAll作为,

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
var result = RecordList.ConvertAll(x => new RecordModified()
                {
                    RecordTypeText = ((MyEnum)x.RecordTypeID).ToString()
                });

Select是一个LINQ extension方法,工作在所有IEnumerable<>对象上,而ConvertAll仅由List<>实现。ConvertAll方法从.NET 2.0开始就存在,而LINQ是在3.5中引入的。

您应该更喜欢Select而不是ConvertAll,因为它适用于任何类型的列表,但它们基本上是一样的。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/28804783

复制
相关文章
正则表达式之匹配不存在特定字符的字符串
作为一名不经常使用正则表达式的程序员,想用最简单的语言来描述否定匹配,不过发现确实不是那么好理解。还是按照自己知道的来描述吧。
李小白是一只喵
2020/04/24
5.7K0
正则表达式之匹配不存在特定字符的字符串
js判断是否是字符串_js正则表达式匹配字符串
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
全栈程序员站长
2022/11/08
5.8K0
go: 配置golangci-lint 与 precommit配合检查函数是否超过特定行数
最近代码规范很烦人。要求一个函数不能超过80行。只能在git pre-commit钩子上检查下了。 这里使用golangci-lint,里面包含了funlen检查器 config.yaml
超级大猪
2021/06/29
1.9K0
js判断是否包含指定字符串_js正则表达式匹配字符串
前言:有时候,我们在js中需要判断一个字符串中,是不是包含某个字符。可以采用以下方法进行判断。
全栈程序员站长
2022/11/08
2.9K0
正则表达式匹配_正则表达式匹配字符串长度
请实现一个函数用来匹配包括’.’和’*’的正则表达式。模式中的字符’.’表示任意一个字符,而’*’表示它前面的字符可以出现任意次(包含0次)。 在本题中,匹配是指字符串的所有字符匹配整个模式。例如,字符串”aaa”与模式”a.a”和”ab*ac*a”匹配,但是与”aa.a”和”ab*a”均不匹配
全栈程序员站长
2022/09/19
2K0
Java检查枚举是否包含给定的字符串?
enum choices {a1, a2, b1, b2}; 方法一: public static boolean contains(String test) { for (Choice c : Choice.values()) { if (c.name().equals(test)) { return true; } } return false; } 方法二: EnumUtils.isValidEnum(MyEnum.cla
似水的流年
2019/12/06
4.4K0
使用MySQL的rlike判断字符串是否匹配
表user_experience_wealth_log改名为user_experience_wealth_log_new,该表涉及若干存储过程。为了避免遗漏,需要确认所有相关过程都做了修改,验证方法为不存在包含user_experience_wealth_log的存储过程。
用户1148526
2020/04/30
1.7K0
字符串匹配(一) -- 朴素匹配与 KMP 算法
软件算法中,最基础的算法要数排序和查找了,而字符串模式匹配算法可谓是基础中的基础,而最有名又最具代表性的字符串匹配算法要数 KMP 算法了,本文我们就来详细介绍一下 KMP 算法
用户3147702
2022/06/27
1.3K0
字符串匹配(一) -- 朴素匹配与 KMP 算法
PHP正则表达式和字符串匹配
正则表达式是一种可以用来匹配字符串的模式。在PHP中,可以使用preg_match()函数来使用正则表达式进行匹配。preg_match()函数接受两个参数,第一个参数是正则表达式,第二个参数是要匹配的字符串。它返回匹配成功的次数,如果匹配失败则返回0。
堕落飞鸟
2023/04/27
1.3K0
JavaScript 技术篇-js正则表达式匹配字符串左右两边是否包含空格
同理 /(\s$)/ 是匹配右边的空格。 只要包含空格是 /(\s)/。 还可以通过 indexOf(" ") 来进行检测是否包含空格。
小蓝枣
2020/09/23
3K0
检查 Python 中给定字符串是否仅包含字母的方法
Python被世界各地的程序员用于不同的目的,如Web开发,数据科学,机器学习,并通过自动化执行各种不同的过程。在本文中,我们将了解检查python中给定字符串是否仅包含字符的不同方法。
很酷的站长
2023/08/11
2440
检查 Python 中给定字符串是否仅包含字母的方法
javascript 检查字符串是否是数字的几种方法
代码: //判断是否是正整数 function IsNum(s) { if(s!=null){ var r,re; re = /\d*/i; //\d表示数字,
零式的天空
2022/03/02
1.8K0
Java中判断某个String字符串是否包含特定字符串,并统计个数。
原理很简单,用空格代替特定字符,然后计算与以前字符串的长度差,再除以 特定字符的长度,即可得出A中所占b的个数。 **方法2:(利用indexOf与substring)**
Petterp
2022/02/09
3.4K0
perl 正则表达式 匹配字符串 或逻辑
perl正则表示式的备忘 http://www.runoob.com/perl/perl-regular-expressions.html
全栈程序员站长
2022/08/30
6590
字符串的匹配算法_多字符串匹配
不要被事物的表面现象所迷惑,这个算法全称:Brute Force,有个拉风的中文名:暴力匹配算法。
全栈程序员站长
2022/09/25
2.2K0
字符串的匹配算法_多字符串匹配
PHP正则表达式和字符串匹配示例
除了正则表达式之外,PHP还提供了一些字符串匹配函数。这些函数可以用于查找字符串中是否包含某个子串,或者从字符串中提取特定的子串。
堕落飞鸟
2023/04/27
1K0
Python判断字符串是否包含特定子串的7种方法
在写代码的过程中,我们经常会遇到这样一个需求:判断字符串中是否包含某个关键词,也就是特定的子字符串。比如从一堆书籍名称中找出含有“python”的书名。
Crossin先生
2020/09/17
220.4K0
golang刷leetcode:检查是否有合法括号字符串路径
一个括号字符串是一个 非空 且只包含 '(' 和 ')' 的字符串。如果下面 任意 条件为 真 ,那么这个括号字符串就是 合法的 。
golangLeetcode
2022/08/02
9000
检查图片是否损坏、图片后缀是否与实际图片类型对应 - Python
日常工作中,时常会需要用到图片,有时候图片在下载、解压过程中会损坏,而如果一张一张点击来检查就太不Cool了,因此我想大家都需要一个检查脚本;
HoLoong
2020/09/21
3.3K0
检查图片是否损坏、图片后缀是否与实际图片类型对应 - Python
点击加载更多

相似问题

检查字符串是否与特定模式匹配

10

检查字符串是否与特定格式匹配

37

检查项目是否与正则表达式字符串匹配

20

如何检查字符串是否与特定格式匹配?

132

如何检查字符串是否与特定格式匹配?

10
添加站长 进交流群

领取专属 10元无门槛券

AI混元助手 在线答疑

扫码加入开发者社群
关注 腾讯云开发者公众号

洞察 腾讯核心技术

剖析业界实践案例

扫码关注腾讯云开发者公众号
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
查看详情【社区公告】 技术创作特训营有奖征文