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

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

3
PHP7のnull可能な戻り値の型
PHP 7では、戻り型宣言が導入されています。つまり、関数のパラメーターで可能なように、戻り値が特定のクラス、インターフェース、配列、呼び出し可能、または新しくヒント可能なスカラー型の1つであることを示すことができます。 function returnHello(): string { return 'hello'; } 多くの場合、値が常に存在するとは限らず、何らかのタイプの値またはnullのいずれかを返す可能性があります。デフォルトをnull(DateTime $time = null)に設定することでパラメーターをnull可能にすることができますが、戻り値の型に対してこれを行う方法はないようです。それは確かにそうなのですか、それともどうにかしてそれを行う方法を見つけていませんか?これらは機能しません: function returnHello(): string? { return 'hello'; } function returnHello(): string|null { return 'hello'; }

5
?のnull許容型の問題:条件演算子
これがC#.NET 2.0で機能する理由を誰かが説明できますか? Nullable<DateTime> foo; if (true) foo = null; else foo = new DateTime(0); ...しかし、これはしません: Nullable<DateTime> foo; foo = true ? null : new DateTime(0); 後者の形式では、「 '<null>'と 'System.DateTime'の間の暗黙的な変換がないため、条件式のタイプを判別できません。」というコンパイルエラーが発生します。 前者は使用できないというわけではありませんが、2番目のスタイルは他のコードとより一貫しています。

4
Objective-Cにおけるnullable、__ nullable、_Nullableの違い
Xcode 6.3では、Objective-CでAPIの意図をよりよく表現するために(そしてもちろんSwiftのサポートを向上させるために)新しい注釈が導入されました。それらの注釈はもちろんnonnull、nullableそしてnull_unspecifiedでした。 しかし、Xcode 7では、次のような多くの警告が表示されます。 ポインターにヌル可能型指定子(_Nonnull、_Nullable、または_Null_unspecified)がありません。 それに加えて、Appleは別のタイプのnull可能指定子を使用して、Cコード(ソース)をマークします。 CFArrayRef __nonnull CFArrayCreate( CFAllocatorRef __nullable allocator, const void * __nonnull * __nullable values, CFIndex numValues, const CFArrayCallBacks * __nullable callBacks); つまり、まとめると、次の3つの異なるnull可能性アノテーションがあります。 nonnull、nullable、null_unspecified _Nonnull、_Nullable、_Null_unspecified __nonnull、__nullable、__null_unspecified どのアノテーションを使用する理由と場所を知っていますが、どのタイプのアノテーションをどこでどの理由で使用するかについて少し混乱しています。これは私が集めることができるものです: 私が使うべき性質のためにnonnull、nullable、null_unspecified。 私が使用する必要があるメソッドのパラメータについてはnonnull、nullable、null_unspecified。 私が使用する必要があるCの方法については__nonnull、__nullable、__null_unspecified。 そのような私が使用する必要があり、二重のポインタなどの他の例については_Nonnull、_Nullable、_Null_unspecified。 しかし、基本的に同じことを行うアノテーションがたくさんある理由については、まだ混乱しています。 だから私の質問は: それらの注釈の正確な違いは何ですか、それらを正しく配置する方法とその理由は何ですか?

4
比較演算子はnull intでどのように機能しますか?
私はnull許容型を学習し始め、次の動作に遭遇しました。 null可能なintを試しているときに、比較演算子が予期しない結果を返すことがわかりました。たとえば、次のコードでは、私が取得する出力は"both and 1 is equal"です。「null」も出力しないことに注意してください。 int? a = null; int? b = 1; if (a < b) Console.WriteLine("{0} is bigger than {1}", b, a); else if (a > b) Console.WriteLine("{0} is bigger than {1}", a, b); else Console.WriteLine("both {0} and {1} are equal", a, b); 負でない整数がnullより大きくなることを期待していました。ここに何か不足していますか?
151 c#  nullable 

6
Nullable ToString()
私はどこでも次のような構造を見ています: int? myVar = null; string test = myVar.HasValue ? myVar.Value.ToString() : string.Empty; なぜ単純に使用しないのですか? string test = myVar.ToString(); まったく同じではないですか?少なくともリフレクターはこう言っています: public override string ToString() { if (!this.HasValue) { return ""; } return this.value.ToString(); } それで、それは正しいですか(短いバージョン)、または何か不足していますか?
142 c#  nullable 

9
@Nullableおよび@Nonnullアノテーションをより効果的に使用するにはどうすればよいですか?
私はそれを見ることができる@Nullableと@Nonnull注釈ができ予防に有用であるNullPointerExceptionのを、彼らは非常に遠くに伝播されません。 これらの注釈の有効性は、1レベルの間接参照の後に完全に低下するため、ほんの数個追加しただけでは、あまり伝播しません。 これらの注釈は十分に実施されていないため、でマークされた値@Nonnullがnull ではないと想定し、その結果nullチェックを実行しない危険があります。 以下のコードはでマークされたパラメータが発生@Nonnullするnullいかなる苦情を上昇させずに。NullPointerException実行されるとそれをスローします。 public class Clazz { public static void main(String[] args){ Clazz clazz = new Clazz(); // this line raises a complaint with the IDE (IntelliJ 11) clazz.directPathToA(null); // this line does not clazz.indirectPathToA(null); } public void indirectPathToA(Integer y){ directPathToA(y); } public void directPathToA(@Nonnull Integer x){ x.toString(); …

6
C#nullable文字列エラー
private string? typeOfContract { get { return (string?)ViewState["typeOfContract"]; } set { ViewState["typeOfContract"] = value; } } コードの後半では、次のように使用します。 typeOfContract = Request.QueryString["type"]; typeOfContract行の宣言で次のエラーが発生します: 型 'string'は、ジェネリック型またはメソッド 'System.Nullable <T>'でパラメーター 'T'として使用するために、null不可の値型である必要があります 何か案は?基本的に、私はアクションを実行する前に"type"存在することを確認したいと思いQueryStringます。
136 c#  nullable 



3
WPFバインディングで値をnullに設定します
次の行を見てください <TextBox Text="{Binding Price}"/> 上からのこのPriceプロパティはDecimal?(Nullable decimal)です。 ユーザーがテキストボックスのコンテンツを削除した場合(つまり、空の文字列を入力した場合)、ソースを自動的にnull(VBではNothing)に更新する必要があります。 「Xamly」を使用する方法についてのアイデアはありますか?

9
Nullable <DateTime>でDateTime.TryParseを使用するにはどうすればよいですか?
DateTime.TryParseメソッドを使用して、文字列の日時値をNullableに取得したいのですが。しかし、これを試してみると: DateTime? d; bool success = DateTime.TryParse("some date text", out (DateTime)d); コンパイラは私に言っています 'out'引数は変数として分類されていません ここで何をする必要があるかわかりません。私も試しました: out (DateTime)d.Value それも機能しません。何か案は?
115 c#  datetime  nullable 

8
javax.annotation。*内に@Nullableが見つかりません
@Nullable アノテーションを使って排除したいNullPointerExceptions。ネット上でいくつかのチュートリアルを見つけましたが、この注釈がパッケージからのものであることに気付きましたjavax.annotation.Nullable。しかし、インポートするとコンパイルエラーが発生します:シンボルが見つかりません

7
null可能なすべてのC#ジェネリック型制約
だから私はこのクラスを持っています: public class Foo&lt;T&gt; where T : ??? { private T item; public bool IsNull() { return item == null; } } 今私は私がすることができる型パラメーターとしてすべてを使用できるようにする型制約を探していますnull。つまり、すべての参照タイプとすべてのNullable(T?)タイプを意味します。 Foo&lt;String&gt; ... = ... Foo&lt;int?&gt; ... = ... 可能なはずです。 使用するclassタイプの制約としては、私だけが参照型を使用することができます。 追加情報: パイプとフィルターのアプリケーションを作成nullしていて、パイプラインに渡される最後のアイテムとして参照を使用して、すべてのフィルターが適切にシャットダウンしたり、クリーンアップしたりできるようにしたい...
110 c#  generics  nullable 

6
ブロックベースのAPIメソッドでnull以外およびnull許容のObjective-Cキーワードを使用する方法
次の方法を検討してください - (void)methodWithArg:(NSString *)arg1 andArg:(NSString *)arg2 completionHandler:(void (^)(NSArray *results, NSError *error))completionHandler; 新しいキーワードnonnullとnullable アノテーションキーワードを使用すると、次のようにキーワードを強化できます。 - (void)methodWithArg:(nonnull NSString *)arg1 andArg:(nullable NSString *)arg2 completionHandler:(void (^)(NSArray *results, NSError *error))completionHandler; ただし、次の警告も表示されます。 ポインターにヌル可能型指定子(__nonnullまたは__nullable)がありません 3番目のパラメーター(ブロック1)を参照します。 ドキュメントには、ブロックパラメータのNULL値の許容を指定する方法の例をカバーしていません。それは逐語的に述べています 型が単純なオブジェクトまたはブロックポインターである限り、左かっこの直後に、アンダースコアなしのフォームnull可能およびnullなしを使用できます。 ブロックの2つのキーワードの1つを(任意の位置に)運がなくても入れてみました。また、アンダースコア付きのバリアント(__nonnullおよび__nullable)も試しました。 したがって、私の質問は次のとおりです。どのようにして、ブロックパラメーターのnull可能性セマンティクスを指定できますか

3
null許容型「int」のデフォルト値は何ですか?(疑問符を含む)?
C#では、型のクラスインスタンス変数のデフォルト値は何int?ですか? たとえば、次のコードでは、MyNullableInt明示的に割り当てられない場合、どのような値になりますか? class MyClass { public int? MyNullableInt; } (答えはほぼ確実にかのどちらnullか0であるようですが、どれが正しいですか?)
100 c#  integer  nullable 

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