Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/260.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 如何从IList+C.net填充键值对_C#_List_Datetime_Generics - Fatal编程技术网

C# 如何从IList+C.net填充键值对

C# 如何从IList+C.net填充键值对,c#,list,datetime,generics,C#,List,Datetime,Generics,我的IList如下: IList<AnodeCharacteristicsComposite> anodeNoDateTimesOverall = _dataContext.GetAnodeDetails(startTime, endTime, anodeNoPattern).ToList(); GetAnodeDetailsstartTime、endTime、AnodeNodePattern是一个存储过程,它将给出所选时间段的AnodeStamp、ProductionDa

我的IList如下:

IList<AnodeCharacteristicsComposite> anodeNoDateTimesOverall =
    _dataContext.GetAnodeDetails(startTime, endTime, anodeNoPattern).ToList();
GetAnodeDetailsstartTime、endTime、AnodeNodePattern是一个存储过程,它将给出所选时间段的AnodeStamp、ProductionDate列表

现在,我想从上面的列表中形成一个IList AnodenoDateTimesTotal,并将其用于其他一些计算

IList<Pair<string, DateTime>> anodeNoDateTimes =
    anodeNoDateTimesOverall.ToDictionary(x => x.AnodeStamp, x => x.ProductionDate);
我试着这样做,但不起作用。有人能帮我怎么做吗?

你说的是键值对吗?如果是这样,请使用Dictionary,在您的情况下,它将是Dictionary而不是List,以Dictionary返回一个Dictionary,而不是IList

你的程序无法编译

如果您确实需要IList,您可以使用以下内容构建它

IList<Pair<string, DateTime>> anodeNoDateTimes =
   anodeNoDateTimesOverall
   .Select(x => Pair.Create(x.AnodeStamp, x.ProductionDate).ToList();

当然,这取决于您的配对类型,以及它是否有这样的创建方法。

谢谢大家的提示。我终于做到了

IList AnodeNodeDateTimesTotal=\u dataContext.GetAnodeDetailsstartTime、endTime、AnodeNodePattern.ToList; IList阳极时间= 来自AnodenoDateTimesTotal中的ap 选择Pair.Fromap.AnodeStamp,ap.ProductionDate
托利斯特先生;“它不工作”是什么意思?如果你能对格式进行排序,很难说你有一个非泛型的IList还是泛型的IList。如果是前者,这可能可以解释您的问题。IList AnodenoDateTimesTotal=\u dataContext.GetAnododetailsStartTime、endTime、anodeNoPattern.ToList;当我将IList转换为如下所示的一对时,它会给出错误:IList anodeNoDateTimes=anodeNoDateTimesOverall.ToDictionarytX=>X.AnodeStamp,X=>X.ProductionDate;ToDictionary返回字典,而不是IList。此外,ToDictionary的重载只接受一个键选择器,使用原始列表作为值anodeNoDateTimesOverall.ToDictionary=>x.AnodeStatamp;谢谢你,凯。你能举个例子吗?我还没有完全理解你的意思。是的,谢谢克里斯,它失败了。有什么方法可以从IListHanks中填写IList anodeNoDateTimes。它是有用的,但是它没有创建方法。错误114'Keops.Common.Utilities.Pair'不包含“create”的定义。感谢您对我的答案给予信任和投票。
IList<Pair<string, DateTime>> anodeNoDateTimes =
   anodeNoDateTimesOverall
   .Select(x => Pair.Create(x.AnodeStamp, x.ProductionDate).ToList();