設定ファイル(XMLファイル、FYI)から取得した値に基づいて条件をテストしたいと思います。私がチェックを行うには、このような何かを持っている:定義された変数を使用するラムダ関数
List<Condition> conditions = new List<Condition>();
float fVal;
foreach (XmlAttribute attr in conNode.Attributes)
{
switch (attr.Name.ToLower())
{
case "alt_max":
fVal = float.Parse(attr.Value);
conditions.Add((t) => { return t.altitude <= fVal; });
break;
case "alt_min":
fVal = float.Parse(attr.Value);
conditions.Add((t) => { return t.altitude >= fVal; });
break;
....
私は私の条件がこれらの条件の両方がチェックされたように設定していた場合、最後の値だけが生き残るだろう。 IE
<condition alt_max="0.3" alt_min="0"/>
は、私は何をしたい値(この場合はt.altitude
)は0と0.3の間にあるかどうかを確認することです。私が実際にやっていることは、値が同じか0であるかどうかをテストすることです。これは、fact that references are sent to lambda functionsのために0より小さくて0より大きくなければなりません。両方のインスタンスの値fValは0であるため、>=0
と<=0
でなければなりません。
私は自分の条件を適切にテストできるようにこれを設定する方法を本当に苦労しています。助言がありますか?
「値が同じであることをテストする」とは何を意味しますか? – Enigmativity
OK、私は混乱しています。あなたは、値が0と0.3の間であるかどうかをテストし、> 0で<= 0であるかどうかをテストしたいとします。それはどちらですか? – vesan
0と0.3の間であるかどうかをテストします。私が実際にやっていたことは、ラムダ関数/リファレンスのため0と0の間であったかどうかを調べることでした。いずれにせよ、私は謎が解決されたと思います! – PearsonArtPhoto