問題タブ [tryparse]

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.

0 投票する
4 に答える
911 参照

c# - Enum.TryParse - スレッドセーフですか?

.NET 4.0 の Enum.TryParse がスレッド セーフかどうかを調べようとしています。

ソース コード (逆コンパイル) は次のとおりです。

私にとって問題と思われるのは、次の行です。

結果がデフォルト値に設定された直後で、解析された値に設定される前に、別のスレッドが結果にアクセスした場合はどうなるでしょうか?

[編集] Zoidberg の回答に続いて、質問を少し言い換えたいと思います。

問題は、Enum.TryParse が「トランザクション」(またはアトミック) であるかどうかだと思います。

静的フィールドがあり、それを Enum.TryParse に渡すとします。

ここで、TryParse が実行されているときに、別のスレッドが MyField にアクセスします。TryParse は MyField の値を SomeEnum のデフォルト値にしばらく変更し、それから解析された値に設定します。

これは必ずしも私のコードのバグではありません。Enum.TryParse が MyField を解析された値に設定するか、まったく触れず、一時フィールドとして使用しないことを期待します。

0 投票する
9 に答える
14935 参照

c# - int.TryParse() は "#.##" に対して false を返します

文字列パラメーターを受け取り、それらを整数に変換する関数があります。
安全な変換のために int.TryParse() が使用されます。

関数呼び出し ReportView("2","4")--> int.Tryparse で数値の解析に成功
関数呼び出し ReportView("2.00","4.00") --> int.TryParse で数値の解析に失敗

なんで?何か案が?

@更新
申し訳ありませんが、私の概念は間違っていました。私はC#を初めて使用します.Int.TryParse()は整数部分を返し、小数を無視すると思いました。しかし、Convert.ToInt32("string") でもそうはなりません

0 投票する
2 に答える
1303 参照

c# - C#に曜日名を含める場合は、DateTime文字列を有効として認識します

日付文字列に曜日が付加されている場合、TryParseは失敗します。

これに対処して、日付であると安全に判断し、さらに日付に変換できるようにするための最良の方法は何ですか?

0 投票する
1 に答える
3080 参照

c# - DateTime.TryParseExact と複数の日付形式の解析

文字列が有効な日付かどうかを確認しようとしています。日付が「2011–7–17 23:18:52」形式であるため、問題が発生しています。私は次のようにテストしています:

私が問題を抱えている理由は、日付が月に対して 1 M 値または 2 MM しか持てないためだと思います。処理する大量のデータがあり、M を MM に変更することはできません。

編集:提案されたすべてのリンクを試しましたが、おそらくカルチャーインフォが24時間時計を認識していない可能性があります(疑問符)

0 投票する
3 に答える
560 参照

c# - 複数の TryParse() 呼び出しで同じ変数を再利用する

私はこれについていくつか読みましたが、私のものと同様の質問から、私が尋ねようとしていることは (簡単には) 不可能なようです... しかし、とにかく確認したかったのです. おそらく、これらの質問はすべて古いバージョンの C#/.NET からのもので、最近実装されたものです。

ともかく。私のクラスの 1 つに switch-case ステートメントがあります。その目的は、基本的に int ( typeID) と string ( ) を取り、によって示されるデータ型として解析できるvalueかどうかを確認することです。たとえば、ここに私が今持っているものの一部があります:valuetypeID

私がやりたいことは、ケース 1 と 3 で見られるchar/boolインスタンス化を回避できるようにすることです。理想的には、return ステートメントだけを使用したいと思います。大したことではありませんが(もちろん)、これをもっと(さらに)コンパクトにできればいいのですが。

0 投票する
4 に答える
1962 参照

c# - TryParse()-なぜこのコードは0を返すのですか、結果は-1ではないのですか?

次のコードを参照してください。

失敗したTryParse()場合、ブロックはスキップされ、Console.WriteLine("Parsed")呼び出されず、の値はoutput同じ(-1)になりませんか?

戻ってきた0

0 投票する
3 に答える
48065 参照

c# - DateTime.TryParseメソッドによる有効な日付チェック

メソッドを使用Datetime.TryParseして有効な日時を確認しています。入力された日付文字列は任意の文字列データになります。しかし、無効の指定日としてfalseを返しています。

編集:私は逃した。有効な日付を「15/07/201212:00:00」として確認する必要があります。

どんな提案でも大歓迎です。

0 投票する
3 に答える
24614 参照

c# - Decimal.TryParseは私の10進値を解析しません

(テキストボックスのユーザーから)0.1のようなものを変換しようとすると、値bは常にfalseになります。

どうやってここで働くことができますか?

0 投票する
2 に答える
5177 参照

c# - Single.TryParse を使用したフロートの解析が失敗する

MSDN には、Single.TryParse に関する記事があり、このサンプル コードが含まれています

問題は、TryParse が返しtrue、文字列が変換される記事にありますが、試してみるとfalse. これを修正するにはどうすればよいですか?


UPD:解析を簡素化するために、次の 2 行を使用できます。

この設定により、先頭と末尾に空白文字がある負の浮動小数点数と文字列を解析できます。

0 投票する
2 に答える
622 参照

c# - Enum.TryParse: 戻り値が false の場合の out パラメータ値の保証または契約はありますか?

のドキュメントにInt32.TryParseよると、メソッドが false を返す場合、out パラメータがゼロに設定されます。Enum.TryParse のドキュメントに同様の保証はありません。メソッドは out パラメータを何かに設定する必要があり、ゼロが最も理にかなっているからです。

保証は別の場所で指定または文書化されていますか、それとも本当に保証はありませんか?