gpt4 book ai didi

c# - 无法转换名单

转载 作者:行者123 更新时间:2023-11-30 13:19:48 25 4
gpt4 key购买 nike

我在下面的行中收到错误。

 temp.day1_veh_p = string.Join(Environment.NewLine, day1.Where(x => x.plannedTriips == 1).Select(x => new {value=x.vehicleNumber+":"+x.shiftCompletedOn }).Cast<string>().ToArray());

错误消息正在

Unable to cast object of type '<>f__AnonymousType0`1[System.String]' to type 'System.String'.

列表day1是类型

public class tripDetails
{
public string accountID { get; set; }
public string supplierName { get; set; }
public string supplierCode { get; set; }
public DateTime shiftFrom { get; set; }
public DateTime shiftTo { get; set; }
public int plannedTriips { get; set; }
public int actualTrips { get; set; }
public DateTime forDate { get; set; }
public string vehicleNumber { get; set; }
public string shiftCompletedOn { get; set; }
public class Comparer : IEqualityComparer<tripDetails>
{
public bool Equals(tripDetails x, tripDetails y)
{
return x.supplierCode == y.supplierCode;
}

public int GetHashCode(tripDetails obj)
{
return (obj.supplierCode).GetHashCode();
}
}
}

我究竟做错了什么??

最佳答案

问题是 new { value = ... }

替换:

Select(x => new {value=x.vehicleNumber+":"+x.shiftCompletedOn }).Cast<string>()

Select(x => x.vehicleNumber+":"+x.shiftCompletedOn)

然后你就被排序了。你不需要 Cast<string>()完全没有。

您的原始代码为每条记录创建一个匿名类型的新实例,该实例具有名为 value 的成员。使用所需的字符串;第二个版本只是创建字符串。

在某种程度上,这与尝试这个没有什么不同:

class Foo
{
public string Bar {get;set;}
}
...
var foo = new Foo { Bar = "abc" };
string s = (string)foo; // doesn't compile

关于c# - 无法转换名单,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15270508/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com