タグ付けされた質問 「nullable」

null可能タグは、null可能メンバーまたは型に関連する問題用です。nullは、欠損値または不明な値を表すために使用されます。

17
C#nullable intをintに変換する方法
nullable intをに変換するにはどうすればよいintですか?以下のように2種類のintがあるとします。 int? v1; int v2; にv1値を割り当てたいのですがv2。v2 = v1;エラーが発生します。どのように変換v1しv2ますか?
484 c#  nullable 

6
どちらが望ましいですか:Nullable <T> .HasValueまたはNullable <T>!= null?
私Nullable&lt;&gt;.HasValueはセマンティクスが好きだったので、いつも使っていました。しかし、最近私は他の誰かの既存のコードベースに取り組んでいて、Nullable&lt;&gt; != null代わりに排他的に使用していました。 どちらか一方を使用する理由はありますか、それとも純粋に好みですか? int? a; if (a.HasValue) // ... 対 int? b; if (b != null) // ...
437 c#  .net  null  nullable 

10
「as」およびnull許容型によるパフォーマンスの驚き
null許容型を扱うC#in Depthの第4章を改訂し、 "as"演算子の使用に関するセクションを追加して、次のように記述できるようにします。 object o = ...; int? x = o as int?; if (x.HasValue) { ... // Use x.Value in here } 私はこれが本当に素晴らしいと思い、 "is"に続けてキャストを使用することで、C#1と同等のパフォーマンスを向上させることができると思いました。 。 ただし、そうではないようです。以下にサンプルテストアプリを含めました。これは基本的にオブジェクト配列内のすべての整数を合計しますが、配列には多くのnull参照と文字列参照、およびボックス化された整数が含まれています。ベンチマークは、C#1で使用する必要があるコード、「as」演算子を使用するコード、およびLINQソリューションのキックを測定します。驚いたことに、この場合、C#1コードは20倍高速です。また、LINQコード(イテレータが関与していることを考えると、遅くなることが予想されていました)でも「as」コードよりも優れています。 isinstnull許容型の.NET実装は本当に遅いのですか?unbox.any問題の原因は追加ですか?これには別の説明がありますか?現時点では、パフォーマンスに敏感な状況でこれを使用することに対する警告を含める必要があるように思われます... 結果: キャスト:10000000:121 As:10000000:2211 LINQ:10000000:2143 コード: using System; using System.Diagnostics; using System.Linq; class Test { const int Size = 30000000; static void Main() …

21
文字列をnull許容のintに解析する方法
文字列をC#でnull許容のintに解析したいのですが。すなわち。文字列のint値、または解析できない場合はnullを取得したい。 これがうまくいくことを期待していた int? val = stringVal as int?; しかし、それは機能しないので、今私がやっていることは、この拡張メソッドを書いたことです public static int? ParseNullableInt(this string value) { if (value == null || value.Trim() == string.Empty) { return null; } else { try { return int.Parse(value); } catch { return null; } } } これを行うより良い方法はありますか? 編集: TryParseの提案をありがとう、私はそれについて知っていましたが、同じようにうまくいきました。null可能なintに直接解析する組み込みのフレームワークメソッドがあるかどうかを知ることに、もっと興味がありますか?
300 c#  .net  string  .net-3.5  nullable 


20
ToString()でnull可能なDateTimeをフォーマットするにはどうすればよいですか?
null可能なDateTime dt2をフォーマットされた文字列に変換するにはどうすればよいですか? DateTime dt = DateTime.Now; Console.WriteLine(dt.ToString("yyyy-MM-dd hh:mm:ss")); //works DateTime? dt2 = DateTime.Now; Console.WriteLine(dt2.ToString("yyyy-MM-dd hh:mm:ss")); //gives following error: メソッドToStringへのオーバーロードは引数を1つ取りません

12
条件式でnull許容のブール値をチェックする最良の方法(…の場合)
null許容ブール値の条件チェックを実行するための最もクリーンで理解可能な構文は何だろうと思っていました。 次のコーディングスタイルは良いですか、悪いですか?状態をよりよく/よりきれいに表現する方法はありますか? bool? nullableBool = true; if (nullableBool ?? false) { ... } else { ... } 特にif(nullableBool ?? false)の部分。if (x.HasValue &amp;&amp; x.Value)スタイルが気に入らない... (以前に質問されたかどうかわからない...検索で同様のものが見つからなかった)


14
オブジェクトがnull可能かどうかを確認する方法は?
特定のオブジェクトがnull可能かどうかを確認する方法、つまり次のメソッドを実装する方法... bool IsNullableValueType(object o) { ... } 編集:私はnullable値タイプを探しています。ref型は考えていませんでした。 //Note: This is just a sample. The code has been simplified //to fit in a post. public class BoolContainer { bool? myBool = true; } var bc = new BoolContainer(); const BindingFlags bindingFlags = BindingFlags.Public | BindingFlags.NonPublic | BindingFlags.Instance ; object obj; …
202 c#  .net  nullable 


7
列挙型をnullに設定する方法
列挙型があります string name; public enum Color { Red, Green, Yellow } ロード時にNULLに設定する方法。 name = ""; Color color = null; //error 編集:私の悪い、私はそれを適切に説明しませんでした。しかし、nullableに関連するすべての答えは完璧です。私の状況は、名前などの他の要素を持つクラスの列挙型のget / setがある場合です。ページの読み込み時に、クラスを初期化し、値をデフォルトでnullにしようとします。ここにシナリオがあります(コードはC#です): namespace Testing { public enum ValidColors { Red, Green, Yellow } public class EnumTest { private string name; private ValidColors myColor; public string Name { get { …
191 c#  enums  null  nullable 

7
null許容オブジェクトには値が必要です
例外の説明にパラドックスがあります:Nullableオブジェクトには値(?!)が必要です これが問題です: 私はDateTimeExtendedクラスを持っています { DateTime? MyDataTime; int? otherdata; } そしてコンストラクタ DateTimeExtended(DateTimeExtended myNewDT) { this.MyDateTime = myNewDT.MyDateTime.Value; this.otherdata = myNewDT.otherdata; } このコードを実行する DateTimeExtended res = new DateTimeExtended(oldDTE); InvalidOperationExceptionメッセージをスローします: null可能オブジェクトには値が必要です。 myNewDT.MyDateTime.Value-有効であり、通常のDateTimeオブジェクトを含みます。 このメッセージの意味は何ですか?何が間違っていますか? oldDTEないことに注意してくださいnull。を削除しValueましたmyNewDT.MyDateTimeが、生成されたセッターが原因で同じ例外がスローされます。

2
Kotlinでは、null許容値を処理し、それらを参照または変換する慣用的な方法は何ですか
null許容型がある場合は、Xyz?それを参照するか、null許容型に変換しXyzます。Kotlinでこれを行う慣用的な方法は何ですか? たとえば、次のコードはエラーです: val something: Xyz? = createPossiblyNullXyz() something.foo() // Error: "Only safe (?.) or non-null asserted (!!.) calls are allowed on a nullable receiver of type Xyz?" しかし、最初にnullをチェックすると許可されますが、なぜですか? val something: Xyz? = createPossiblyNullXyz() if (something != null) { something.foo() } 値が本当に絶対にないことを確信していると仮定してnull、ifチェックを必要とせずに値を変更または処理するにはどうすればよいnullですか?たとえば、ここではマップから値を取得していますが、存在が保証され、結果get()はnot nullです。しかし、私はエラーがあります: val map = mapOf("a" to 65,"b" to 66,"c" …

5
型 'string'は、ジェネリック型またはメソッド 'System.Nullable <T>'のパラメーターTとして使用するために、null不可の型でなければなりません
エラー「ジェネリック型またはメソッド 'System.Nullable'のパラメーター 'T'として使用するには、型 'string'はnullにできない値型でなければならない」が発生するのはなぜですか? using System; using System.Collections; using System.Collections.Generic; using System.Data; using System.Diagnostics; using Universe; namespace Universe { public class clsdictionary { private string? m_Word = ""; private string? m_Meaning = ""; string? Word { get { return m_Word; } set { m_Word = value; } } string? Meaning …
172 c#  nullable 


弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.