2

S/O で同様のエラーが発生しましたが、修正は簡単ではありませんでした。

Cannot implicitly convert type 'System.Collections.Generic.List<AnonymousType#1>' to 'System.Collections.Generic.List<DTD.ManagedMPS.Core.EtchVectorShapes>'

このlinqクエリを特定のリストとして渡すために何をする必要がありますか?

public List<EtchVectorShapes> GetEtchVectors(List<ViolationType> list, List<ExcelViolations> excelViolations)
    {
        var etchVector = new List<EtchVectorShapes>();

        etchVector = (from vio in list
                        where excelViolations.Any(excelVio => vio.VioID.Formatted.Equals(excelVio.VioID.ToString()))
                            && excelViolations.Any(excelVio => vio.RuleType.Formatted.Equals(excelVio.RuleType))
                            && excelViolations.Any(excelVio => vio.VioType.Formatted.Equals(excelVio.VioType)) 
                            && excelViolations.Any(excelVio => vio.EtchVects.Any(x => x.XCoordinate.Equals(excelVio.XCoordinate)))
                            && excelViolations.Any(excelVio => vio.EtchVects.Any(y => y.YCoordinate.Equals(excelVio.YCoordinate)))

                        select new
                        {
                            EtchVectors =  vio.EtchVects  // firstOrDefault.Formatted
                        }).ToList();


        return etchVector;
    }
4

2 に答える 2

2

選択をに変更する必要がありますselect new EtchVectorShapes{EtchVectors = vio.EtchVects}

etchVectorまた、変数を新しいリストに初期化する必要もありません。

于 2013-05-11T00:16:52.540 に答える
0

???にEtchVectorShapes適切にマッピングされています excelViolationsこれらは異なるタイプであることがわかりますか?

他の回答と同様.ToList()に、クエリの最後に追加して List<> にする必要があります

于 2013-05-11T00:19:14.737 に答える