将列表详细信息转换为数组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();

但是,我无法将列表转换为数组。我该怎么做才能将我的列表转换为数组?

将列表详细信息转换为数组c#

这是因为调用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();

希望这能帮助