すべては、私は複数のコントロール(Button
秒、RadioButton
Sなど)とのGroupBox
を持っていると私はGroupBox
でRadioButton
がチェックしている確立の最もefficent方法を知りたいです状態。私は現在、私は、私は必要があるボタンを確立するために列挙子を使用最適化された検索
int nCheckedRadioIdx = 0;
foreach (Control ctrl in groupBoxList.Controls)
{
if (ctrl.GetType() == typeof(RadioButton))
{
if (((RadioButton)ctrl).Checked)
{
switch (((RadioButton)ctrl).Name)
{
case "radioButtonGoodCodeSumm":
nCheckedRadioIdx = 0;
break;
case "radioButtonBadCodeSumm":
nCheckedRadioIdx = 1;
break;
case "radioButtonBadByEpiNo":
nCheckedRadioIdx = 2;
break;
case "radioButtonValidCodes":
nCheckedRadioIdx = 3;
break;
default:
break;
}
break;
}
}
}
を持っています。これは私にとって非常に冗長であるようです(実際は醜いです!)。私はこれをVBで何らかのLINQクエリ(SO Question)で実行したのを見ましたが、私はVBやLINQで作業したことがなく、変換に苦労しています。可能であれば、にはRadioButton
のかなりの数が含まれていますので、これはさらに良い方法があればLINQを使いたいと思いますか?
C位へのVB.NETコードの直接変換は次のようになるであろう: 'のRadioButton rButton = GroupBox1.Controls.OfType .Where(R => r.Checked == TRUE).FirstOrDefault(); ' –
ありがとうございます。しかし、この翻訳はあまり働いていません... – MoonKnight