Linq--使用Linq在不同类型之间转换
生活随笔
收集整理的這篇文章主要介紹了
Linq--使用Linq在不同类型之间转换
小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.
需求:
?????有兩個類型,分別為MyUser和YourUser,要在這兩個類型之間進行轉(zhuǎn)換
?
MyUser.csnamespace?XMLSpy.Linq{
????public?class?MyUser{
????????///?<summary>
????????///?設(shè)置或獲取用戶ID
????????///?</summary>
????????public?int?Id?{?get;?set;?}
????????///?<summary>
????????///?設(shè)置或獲取用戶名稱
????????///?</summary>
????????public?string?Name?{?set;?get;?}
????}
}
?
YourUsernamespace?XMLSpy.Linq{
????public?class?YourUser{
????????///?<summary>
????????///?設(shè)置或獲取用戶ID
????????///?</summary>
????????public?int?Id?{?get;?set;?}
????????///?<summary>
????????///?設(shè)置或獲取用戶名稱
????????///?</summary>
????????public?string?Name?{?set;?get;?}
????}
}
?
?解決方法:
?
TypeCast .csusing?System.Collections.Generic;
using?System.Linq;
namespace?XMLSpy.Linq?{
????///?<summary>
????///?在不同類型之間轉(zhuǎn)換
????///?Author?:?xmlspy.spring@gmail.com
????///?</summary>
????public?class?TypeCast?{
????????///?<summary>
????????///?把YourUser[]轉(zhuǎn)換為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>轉(zhuǎn)換為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;
????????}
????}
}
轉(zhuǎn)載于:https://www.cnblogs.com/xmlspy/archive/2008/08/05/1261560.html
總結(jié)
以上是生活随笔為你收集整理的Linq--使用Linq在不同类型之间转换的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 如何实现远程登陆,如何实现远程桌面
- 下一篇: SQL LIKE 通配符随笔