を入力します。私は、次のコードを持っているMonoTouchでクラッシュ辞書FirstOrDefault()私が最初にiphoneに私のアプリを試してみましたが、それは次の行(シミュレータで完璧に動作します)でクラッシュし開発効率向上の2週間後に初期化子PredicateOf
:
private readonly Dictionary<string, QueueItem queued = new Dictionary<string, QueueItem>();
private void Processqueue()
{
KeyValuePair<string, QueueItem> valuePair = queued.FirstOrDefault();
// Crashes with: System.TypeInitializationException has been thrown
// "And exception was thrown by the type initializer for PredicateOf`1"
}
private class QueueItem
{
public string Url { get; set; }
public Action<string> ImageLoaded { get; set; }
public bool Pending { get; set; }
}
誰かが何をすべきか考えていることを願っています。
おかげ
列挙子コード を使用してこの問題を回避することができました。var enumerator = queued.GetEnumerator(); if(enumerator.MoveNext()){.. eumerator.Curent; } しかし、linq構文がクラッシュする理由を知ることは興味深いでしょう。 – heinzler