将列表详细信息转换为数组c#
本文关键字:数组 转换 列表 详细信息 | 更新日期: 2023-09-27 18:25:05
我正在尝试将列表转换为字符串数组。我的列表包含以下内容:
public class AcctList
{
public string sRole { get; set; }
public bool bIsPrimary { get; set; }
public int iDayNo { get; set; }
public bool bIsAirportMeetGreet { get; set; }
public bool bIsSeaportMeetGreet { get; set; }
}
然后,我尝试通过以下操作将列表转换为字符串数组:
List<AcctList> userAccount = AccountBLL.GetUserInfoListByName(sUser);
String[] array = userAccount.ToArray();
但是,我无法将列表转换为数组。我该怎么做才能将我的列表转换为数组?
这是因为调用ToArray()
方法将创建列表类型的数组,在本例中为AcctList[]
。如果你想把它转换成字符串表示,你需要说HOW。一个示例可以是将LINQ与Select()
方法一起使用,如userAccount.Select(x => x.ToString()).ToArray()
或userAccount.Select(x => x.sRole).ToArray()
。
现在,如果您想显示比sRole
更多的信息,可以使用第一个方法,并使您的类覆盖ToString()
方法。或者,您可以直接在lambda表达式中设置格式。例如,userAccount.Select(x => String.Format("Role={0},IsPrimary={1}", x.sRole, x.bIsPrimary)
。
这是修改后的类,您必须重写您的"ToString"方法。
public class AcctList
{
public string sRole { get; set; }
public bool bIsPrimary { get; set; }
public int iDayNo { get; set; }
public bool bIsAirportMeetGreet { get; set; }
public bool bIsSeaportMeetGreet { get; set; }
public override string ToString()
{
return base.ToString();
//return your desired string here
}
}
然后使用Linq选择每个对象的ToString。
string[] strings = userAccount.Select(p => p.ToString()).ToArray();
希望这能帮助