問題タブ [isnullorempty]
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# - CodeAnalysis の警告を安全に無視できますか: string == "" を string.IsNullOrEmpty に置き換えますか?
私はこれに似たコードを持っています:
s が "" の場合、foo を呼び出す必要があります。string が null の場合 (これは決して起こらないはずです)、NullReferenceException は問題ありません (結局のところ、これは例外的な状況であるため)。
CodeAnalysis は、s.IsNullOrEmpty をテストするように指示します。これにより、意図しない方法で機能が変更されます。
パフォーマンスは問題ではありません。
関連する CA1820 警告を抑制しても安全ですか?
編集:私のケースをよりよく反映するために、コードサンプルとテキストを更新しました。
編集:これは(わずかに変更された)実際のコードです(標準の IXmlSerializable 実装にあります):
c# - C# String.IsNullOrEmpty: 良いか悪いか?
私が String.IsNullOrEmpty を Session 変数で誤用した職場での事件の後、私の仲間の同僚は、私の String.IsNullOrEmpty の使用を受け入れることを拒否しました。いくつかの調査の後、どうやら MSDN の IsNullOrEmpty にリストされているバグがあるようです (リンク) (下部のメモを読んでください):
2006 年 4 月 4 日の時点で、最適化がオンになっているとこのメソッドが失敗するバグ (JIT で発生する可能性があります) があります。C# と VB の両方に影響することが知られています。
詳細については、こちら (リンク) を参照してください。マイクロソフトのバグは「おそらく」Orcas 後に修正されていますが、残念ながら私の雇用主はまだ VS2005 を使用しています。しかし、2008年以降に問題が修正されれば、それで問題ありません。それは私には問題ありません。
私の同僚がIsNullOrEmptyを使用して私のコードを拒否したことは盲目的な無知(IMO)ですが、セッション変数の誤用以外に使用しない理由を彼は確かに教えてくれません。コード全体で IsNullOrEmpty を使用しましたが、問題はありません。個人的には、1 つのステートメントで 2 つのことを行うことに加えて、はるかに読みやすいと思います。
この件に関する意見をグーグルで検索した後、賛否両論のサイトを見つけました。これについて私が読んだサイトのいくつかを次に示します。
https://blog.rthand.com/post/2006/06/22/1063.aspx
http://www.omegacoder.com/?p=105
1 つのサイト ( http://dotnetperls.com/isnullorempty ) は、この方法 (IMHO) をかなりうまくまとめています。
ここでは、文字列型の IsNullOrEmpty メソッドを調べました。これは、文字列を保存または使用してもよいかどうかを確認するための優れた比較的効率的な方法を提供します。ただし、パフォーマンスのためには、手動の null チェックを使用する方がよい場合があります。空の文字列は他の方法でもテストできます。ここでの私の調査では、長さをチェックするのが最も速いことが示されています。
バグ修正が VS2008/2010/etc に適用されている (そして正しく動作している) と仮定すると、VS2005 以降で String.IsNullOrEmpty を使用しない理由はありますか? これは、このようなばかげた小さな方法では少しやり過ぎに思えるかもしれませんが、舞台裏でさらに多くのことが起こっているかどうか、誰かが別の説明を持っているかどうかを知りたいです.
sql - SQLiteは空の場所を選択しますか?
some_column
SQLiteで、空のレコードを選択するにはどうすればよいですか?
空はとの両方としてカウントされNULL
ます""
。
c# - string.IsNullOrEmpty()は、クラス内のクラス内の文字列では機能しないようです
まず、何が起こっているのかはわかっていると思いますが、この問題をここで取り上げて議論し、私が考えている以外の誰かがこれに対する「答え」を持っているかどうかを確認したいと思いました。なぜなら、それは私には完全には意味がありません。
私が見つけたのは、例外のエラーログを作成するときに、これを実行していて、機能していなかったことです。
そして、見よ、これを実行すると、NullReferenceExceptionが発生することがよくありました。は?
nullをチェックしていますよね?
今、私はこれを使用する必要があります:
しかし、それは直感に反し、生産性にも反しているようです。なぜなら、私がこれを行うと、一体、次のようになります。
それは私に何の問題も与えません。そして、ex.InnerExceptionがnullの場合、確かにex.InnerException.Messageはnullですよね?
どうやらそうではありません。
これを再現する完全なコンソールアプリを作成しました。もし、あんたが
私が起こっていると思うのは、IsNullOrEmptyを処理しようとする前に、コードがex.InnerException.Messageを処理することです。ex.InnerExceptionがnullであるため、ex.InnerException.Messageにアクセスしようとすると例外が発生します。
でも気になりますが、完全なチェックが必要ですか?ex.InnerException!=nullで十分でしょうか。内部例外がある場合、常にそれに関連付けられたメッセージがありますか?
ありがとう。
javascript - JavaScriptの「IsNullOrWhitespace」?
String.IsNullOrWhitespace
クライアント側のテキストボックスに表示されているテキストがあるかどうかを確認できるように、.NET に相当する JavaScript はありますか?
テキストボックスの値をポストバックしてサーバー側の検証のみに依存するよりも、最初にクライアント側でこれを行うことをお勧めします。
.net - String.IsNullOrEmpty と String.IsNullOrWhiteSpace を組み合わせた .NET 組み込み関数
String.IsNullOrEmpty と String.IsNullorWhiteSpace の両方を組み合わせた .NET の組み込み関数はありますか?
私は自分で簡単に書くことができますが、私の質問は、なぜ String.IsNullOrEmptyOrWhiteSpace 関数がないのですか?
String.IsNullOrEmpty は最初に文字列をトリミングしますか? おそらくより良い質問は、String.Empty は空白とみなされますか? ということです。
c# - IsNullorEmpty コンボボックス.選択値
私は、combobox.selectedValue を機能する文字列に設定しようとしていますが、null または空の場合はエラーになります。次のコードを無駄に試しました:
コンボボックスはデータバインドされていますが、理論的には特定の状況で nullorempty になる可能性があり、そのときに他の値を渡すことができる必要があります。どんな助けでも素晴らしいでしょう。
arrays - Array.IsNullOrEmpty() メソッドがないのはなぜですか?
System.Array.IsNullOrEmpty(System.Array value)
があるのと同じように、がない理由を誰でも指摘できますSystem.String.IsNullOrEmpty(System.String value)
か?
これを拡張メソッドとして簡単に定義できることは知っていますが、構文somearray.IsNullOrEmpty()
はArray.IsNullOrEmpty(somearray)
. これを克服する方法はありますか?
c# - ?? system.DBNull の演算子
これを単純化するための演算子または組み込み関数はありますか:
私は次のようなことができることを知っています:
しかし、私には多くのオブジェクトがあり、それを避けたい:
関数を作成することもできます。
最も簡単な方法は、?? を使用することです。演算子ですが、問題は「dataColumn」が ?? と互換性がないことです。null の代わりに system.DBNull を返すことがあるためです。即時ウィンドウ出力を見てください。
if..then なしで dataColumn.toString()=="" の場合に "-" を返すことができる (文字列) 関数または演算子があるのだろうか (なぜなら、それらすべてに対して多くの if..then を作成する必要があるからです)それ以外の場合は、上記の関数アプローチを使用します。
c# - C#で文字列変数が空かnullかを確認するにはどうすればよいですか?
""
C#変数が空の文字列であるかnullであるかを確認するにはどうすればよいですか?
このチェックを行う最も簡単な方法を探しています。nullに等しい""
かnullになる可能性のある変数があります。""
そうでないかnullかどうかをチェックできる単一の関数はありますか?