2017-01-10 1 views
0

サイクルアサインメントなしで、vb.netの真とbooleanの配列を作成し初期化することは可能ですか? デフォルトでは配列はFalseで初期化されます。私は反対が必要です。VB.NET:どのように初期化bool配列をtrueとする

+0

「For Each」はオプションではありませんか? –

+0

@DDD Soft、いいえ、それはオプションではありません。私は最短の構文が欲しい。 – Aave

+2

「最短構文」を持つことがなぜ重要なのですか? –

答えて

2

BitArrayは、TrueとFalseのみをサポートしています。コンストラクタで初期化できます。

Dim b As New BitArray(1000, True) 

Console.WriteLine(b(10)) ' Display True 

メモリも少なくて済みます。

+0

ああ、素晴らしい!私はそれについて考えなかった!それは私にとって最高の解決策のようです!ありがとうございました! – Aave

2

LinqメソッドRepeat(Of TResult)を使用すると、カスタム関数を定義することなく、最短の方法でそのようなタスクを達成できます。

Dim myArray = Enumerable.Repeat(Of Boolean)(True, 10000).ToArray() 
+0

これは解決策です。しかし、それは...よりもはるかにゆっくりと機能します。 .NETがブール値配列を初期化することはできません。全ての値が真であり、トリックなしに真です。ありがとうございました! – Aave

+0

** Boolean()**型にバインドされたExtensionメソッドを定義し、そのようなメソッドからのより高速なfor..nextベースの初期化を実行できます。それは最短で最速の解決策になります。 –

+0

いいアイデア、試してみるよ。 – Aave