問題タブ [non-nullable]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
c# - Null 非許容パラメーターで式を強制的に使用することはできますか?
これをどう説明したらいいのかわからないので、最初にコードをいくつか示して、それが何をするのかを説明します。
Extension Filter
: パラメーター式と、アプリケーション用に作成した特殊なタイプのフィルターを受け取ります ( IFilter
)。
現在、これを行うことが可能です (簡素化されています!):
そこで、問題があります。BarID
は null になる可能性があるため、EF は を使用して POCO クラスを生成していますint?
。これは私にとっては問題ありませんが、式の処理には適していません。この問題は最初に次の質問を引き起こしました: Type 変数から Nullable<T> を作成する方法は? .
問題の説明:
例外二項演算子 Equal は、型 'System.Nullable`1[System.Int32]' および 'System.Int32' に対して定義されていません。このコードからスローされます:
ここで、 leftExpr はSystem.Nullable1[[System.Int32
(パラメーター、 as int?
) であり、 rightExpr はSystem.Int32
(値、 Int32` として) です。
質問:
を回避するために何かできますか?からint?
? つまり、null 許容型の受信を回避することは可能ですか、それともコードでこれを確認する必要がありますか?
どうもありがとう、
リカルド
c# - null 許容および null 非許容の int での「join」の呼び出しで、型の推定に失敗しました
私の Linq では、null 許容フィールドへの内部結合を作成しようとしています。Employee と Department にはリレーションがあり、Department には EmployeeID がある場合と null がある場合があります。内部結合を満たしたレコードのみが必要な場合 (null EmployeeID の結果はありません)、私の結合はどうなるでしょうか。
例外が発生しています:
結合句のいずれかの式の型が正しくありません。'join' の呼び出しで型の推定に失敗しました。
ありがとう
c# - C# でのラッパーの自動変換
前提条件コード コントラクトとして、参照型が null になるのを防ぐためのラッパー クラスを作成しました。
これは問題なく動作しますが、Nullable を扱うときのように常にキャストが必要です。
NonNullable 型のパラメーターをキャストせずに T 型のように動作させることは可能でしょうか? 仕様番号のように:
.net - null 非許容の参照型 (もう一度)
.NET での null 非許容参照型のサポートに関して、多くの質問がありました。コード コントラクトが大いに期待されていましたが、予算が限られている人向けの実行時チェックに限定されています。
コード コントラクト以外のアプローチについては、Jon Skeet が数年前にこれに関するブログ記事を書きました。コメント投稿者の 1 人が、デフォルト コンストラクターを無効にするように IL を変更した便利な見た目のNonNull 構造体を提供しました。これは優れたアプローチのように思えます。これを拡張して、あらゆる種類の null 非許容のmicrotypesを提供することを想像できます。IL 操作は、構造体の属性によってトリガーされるビルド後のステップである可能性があります。
これをさらに調査する前に、これが引き起こす可能性のある問題を誰かが知っているかどうか尋ねたいと思いますか? 私は何も考えることができませんでした。
c# - null 許容の 10 進数 (10 進数?) を文字列に変換する場合、文字列変換でカルチャを明示的に指定できません
私は財産を持っています:
そしてResharperは私に示します:
文字列変換でカルチャを明示的に指定する
しかし、私が使用する場合:
私はいつも次のメッセージを受け取ります:
ToString メソッドには 0 個のパラメーターがありますが、1 つの引数で呼び出されます
10 進数のプロパティを変更して null 可能にならないようにすると、機能します。ToString(CultureInfo.CurrentCulture)
null 許容プロパティで使用するにはどうすればよいですか?
c# - ジェネリックな戻り値の型と null 非許容オブジェクト
Sqlクエリに関する多くの便利なメソッドを含むSql Utilityクラスがあります。このクラスには、次のメソッドが含まれています。
たとえば、Guid
オブジェクトやその他の null 非許容クラスを返すことは可能ですか。
このようなもの:
java - Getter と @Nonnull
日食から警告が表示され、抑制警告で削除できることはわかっていますが、それがnullになる可能性がある理由を理解したいと思います。
パッケージ情報.java
test.java
この警告が表示される理由がわかりません...
PS:
public Test( @Nonnull final String s ) {
-> nullness アノテーションは、この場所に適用されるデフォルトで冗長です
@Nonnull private final String s;
→何も変わらない
c# - 抽象クラスとnull許容でない値型
クラスプロデューサー/コンシューマー向けに、第一人者「ジョーダフィー」によって提案されたコード(プロデューサー/コンシューマーパターンでより多くのイテレーターを楽しむ)をコンパイルしようとしていますが、このエラーが発生しています:
(私はVisual Studio2010とNet4.0.3を使用しています)
私の貧弱な知識には多すぎます!誰かが解決策を提案できますか?
linq-to-sql - sqlmetal を使用して dbcontext を生成すると、テーブル値の UDF 列が null 許容として作成されます
さまざまな種類のさまざまな列を持つインライン テーブル UDF を作成しました。
ただし、一部の列は非 null に設定されていますが、sqlmetal.exe はそれらを null 許容型として作成しました。
null 許容ではない正しい型を取得できないのはなぜですか?
.NET Framework バージョン 4 には、sqlmetal (Microsoft (R) Database Mapping Generator 2008) バージョン 4.0.30319.1 を使用しています。
c# - C#でnull不可の参照型を持つことの根本的な問題は何ですか?
現時点では、C# には null 非許容型などはありません。他の機能と同様に、開発に時間とお金がかかることは明らかです。質問はありません。しかし、私はそれを持つことで多くの利点を見ることができます. 最も明白なものの 1 つは、null チェックの必要性を排除し、null 参照例外の可能性をほとんどまたはまったく残さないことです。私が正しいとすれば、この機能を C# に追加するにはコストがかかりすぎる根本的な問題があるのでしょうか? もしそうなら、それは何ですか?