これは問題の質問です。だから、私が質問を誤解した場合、何が起きているのか十分に理解していないからです。列挙型をリストにコピーしますか? "暗黙的にタイプ 'MyClass.Items'を 'System.Collections.Generic.List <MyClass.Items>'に変換できません"
問題
Compile error: Cannot implicitly convert type 'MyClass.Items' to 'System.Collections.Generic.List'
コンテキスト
私はIOrderedEnumerable
を通じてList
を反復していますが、それは(私の全体のため、型付きList
であるので、私は目的のレコードを返すことができませんアプリはList
オブジェクトを前後に渡しています)。
私のメソッドへの入力はList
ですが、OrderBy
オプションを使用すると、暗黙的にIEnumerable
にキャストされているようです。
// ToList is not available!
return SingleItemToCheck.ToList;
または
// same type conversion error
List<Items> ReturningList = SingleItemToCheck;
問題コード
public static List<Items> FindCheapestItem(List<Items> source)
{
// Now we pop only the first one.
// ISSUE: Sometimes the top entry on the list is bad,
// so we need to check it!
var BestItemCandidate = source.OrderBy(s => s.ItemDesirability);
bool ForgetThisOne = false;
foreach (var SingleItemToCheck in BestItemCandidate)
{
ForgetThisOne = false;
// ... test for ItemDesirability, truncated
if (Desirability < 0)
{
ForgetThisOne = true;
}
if (!ForgetThisOne)
{
// we are just returning the first desirable row
// because we are sorted on desirability
// and consuming code can only digest a single item.
return SingleItemToCheck; // !!! ARGH, compile error !!!
}
}
// means we looped through everything and found nothing of interest
return null;
}
「アイテム」だけに興味がある場合、なぜあなたは 'リスト'を返しますか? –
V4Vendetta
私のアプリ全体がリストを渡すので。基本的には、すべてのコードが低レベルと高レベルで同じに見え、リスト上で動作するようにリストを使用しています。 – Jonesome