Linq--使用Linq在不同类型之间转换
需求:
有两个类型,分别为MyUser和YourUser,要在这两个类型之间进行转换
namespace XMLSpy.Linq{
public class MyUser{
/// <summary>
/// 设置或获取用户ID
/// </summary>
public int Id { get; set; }
/// <summary>
/// 设置或获取用户名称
/// </summary>
public string Name { set; get; }
}
}
namespace XMLSpy.Linq{
public class YourUser{
/// <summary>
/// 设置或获取用户ID
/// </summary>
public int Id { get; set; }
/// <summary>
/// 设置或获取用户名称
/// </summary>
public string Name { set; get; }
}
}
解决方法:
using System.Collections.Generic;
using System.Linq;
namespace XMLSpy.Linq {
/// <summary>
/// 在不同类型之间转换
/// Author : xmlspy.spring@gmail.com
/// </summary>
public class TypeCast {
/// <summary>
/// 把YourUser[]转换为MyUser[]
/// </summary>
/// <param name="yourUsers"></param>
/// <returns></returns>
public MyUser[] ToMyUsers(YourUser[] yourUsers) {
MyUser[] myUsers = null;
// 方式1: 使用Linq
myUsers = (from user in yourUsers
select new MyUser
{
Id = user.Id,
Name = user.Name
}).ToArray();
// 方式2: 使用Lambda表达式
myUsers = yourUsers.Select(user => new MyUser
{
Id = user.Id,
Name = user.Name
}).ToArray();
return myUsers;
}
/// <summary>
/// 把List<YourUser>转换为List<MyUser>
/// </summary>
public List<MyUser> ToMyUserList(List<YourUser> yourUsers) {
List<MyUser> myUsers = null;
// 方式1: 使用Linq
myUsers = (from user in yourUsers
select new MyUser
{
Id = user.Id,
Name = user.Name
}).ToList();
// 方式2: 使用Lambda表达式
myUsers = yourUsers.Select(user => new MyUser
{
Id = user.Id,
Name = user.Name
}).ToList();
return myUsers;
}
}
}
转载于:https://www.cnblogs.com/xmlspy/archive/2008/08/05/1261560.html
Linq--使用Linq在不同类型之间转换相关推荐
- Go : 类型之间转换数字的测试(附完整源码)
Go : 类型之间转换数字的测试 package main var i8 int8; var u8 uint8; var i16 int16; var u16 uint16; var i32 int3 ...
- opencv中Mat与IplImage,CVMat类型之间转换
opencv中对图像的处理是最基本的操作,一般的图像类型为IplImage类型,但是当我们对图像进行处理的时候,多数都是对像素矩阵进行处理,所以这三个类型之间的转换会对我们的工作带来便利. Mat类型 ...
- python变量类型之间转换_【Python】Python 变量类型(变量赋值,数据类型,数据转换)...
目录 Python 变量类型 变量存储在内存中的值.这就意味着在创建变量时会在内存中开辟一个空间.基于变量的数据类型,解释器会分配指定内存,并决定什么数据可以被存储在内存中.因此,变量可以指定不同的数 ...
- python变量类型之间转换_python学习笔记5—数据类型转换
数据类型转换 16进制和10进制之间转换In [18]: int('a',16) 把16进制的a转换为10进制的10,16说明a是16进制数 Out[18]: 10 In [13]: int('0xa ...
- C语言各种类型之间转换详解
目录 1. C基本类型变量 2. 符号扩展 2.1 规则一: 2.2 规则二: 2.3 规则三: 3. 零扩展 4. 长类型转换为短类型 5. 自动类型转换 5.1 赋值时的类型转换 5.2 运算时的 ...
- python变量类型之间转换_Python常用数据类型之间的转换总结
函数 描述 int(x [,base]) 将x转换为一个整数 long(x [,base] ) 将x转换为一个长整数 float(x) 将x转换到一个浮点数 complex(real [,imag]) ...
- 【MATLAB Image Processing Toolbox 入门教程六】“导入、导出和转换”之“图像类型转换Ⅰ——在不同图像类型之间转换”
[MATLAB Image Processing Toolbox 入门教程六] 1 gray2ind函数 2 ind2gray函数 3 mat2gray函数 4 rgb2gray函数 5 rgb2in ...
- 枚举类型和各种类型之间转换
//声明枚举public enum Sesons{春,夏,秋,冬}static void Main(string[] args){Sesons s = Sesons.春;string str=&quo ...
- python变量类型之间转换_Python变量赋值类型转换
原博文 2018-01-22 22:05 − 1.Python定义变量 1 name = cross10 2 print('name=',name) 打印结果: name=cross10 2.Pyth ...
最新文章
- 生成树计数Matrix-Tree定理-数学
- Winform中给DataGridView添加多选框列并获取选中行的内容
- 产品报价单模板_一文说透报价单,这么做才是专业!附模板及注意事项
- 卡尔曼滤波器(Kalman Filter) 理解
- 他是我们内心世界的一员 (见信息时报2011年7月10日)
- Android:SharedPreferences详解+示例
- 问题解决:pip无法使用,经升级后可以使用
- NonComVisibleBaseClass Exception
- 04,Django Form源码阅读
- linux 每日学一点《将LINUX变成路由器》
- 计算机加密是什么意思,bitlocker驱动加密是什么意思?
- 「大数据干货」基于Hadoop的大数据平台实施——整体架构设计
- css设置行高居中,CSS line-height行高上下居中垂直居中样式属性
- 桌面图标背景色解决方案
- 不同vlan实现互通
- 现货黄金入门:初识心理
- 神奇的sqrt函数以及高精度记时函数
- H5 canvas基础入门到捕鱼达人小游戏实现(1)
- Python math.erfc() 方法
- 极客大学产品经理训练营:产品文档和原型咋弄 - 流程图 第9课总结
热门文章
- python中类的方法里面变量前加self与不加self的区别
- 【Spark Summit EU 2016】摆脱传统ETL,让我们走向Spark吧!
- PYTHON 高效编程
- loadrunner脚本中参数有中文时报错
- Linux命令Find实例
- Dll 导出类 [示例代码]
- linux版本的edge多网页标签(tag)不见了咋办
- FastDfs上传图片时报错configparser.NoOptionError: No option ‘connect_timeout‘ in section: ‘__config__‘
- protoc: error while loading shared libraries: libprotoc.so.8: cannot open shared object file
- 音频的音量检测java实现_免费剪切和合并音频,小白必读