問題タブ [system.version]
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.
.net - 'System.Version'が値型(構造体)ではなく参照型(クラス)であるのはなぜですか?
.NET型System.Versionのメンバーを見ると、参照型(クラス)ではなく、値型(C#構造体)などの型を作成する方がよい場合があります。
マイクロソフトがそのタイプをそのように実装することを決定した理由または議論は何でしょうか?それは単に一種の「バグ」/間違い/結果ではないのか、それとも「機能」(言い換えれば、「本当に欲しくて便利」なのか)ですか?
System.Int32、System.Double、System.Guidなどの値型に一般的なParse()やTryParse( )のようなメソッドがあります。System.Versionのプロパティは、短い値と整数値(s。System.TimeSpan)のみを格納し、型自体は(演算子を使用して)比較可能であり、構造体としてクローン可能にする必要がない場合があります。
私はその「現状」に反対するものは何もありません、それは私の好奇心を満たすためだけです;-)
編集:System.TimeSpanへの比較を追加しました。
java - .NETのVersionクラスに相当するJava?
.NET の System.Version クラスに相当する Java はありますか? これは Java で何と言いますか?
c# - SQL Server の System.Version のデータ型
System.Versionを SQL Serverに格納する最良の方法は何ですか?
varchar 型を使用すると、asc による順序の結果は次のようになります。
c# - JSON 文字列の System.Version が正しく逆シリアル化されないのはなぜですか?
コンテキスト: 多数のプロパティ/フィールドを含むオブジェクトを (中間層レイヤーから UI レイヤーに) 渡す必要があります。このプロパティのリストの 1 つは、JSON 文字列形式から正しく逆シリアル化されていないバージョン タイプです。文字列へのJSONシリアル化は短い文字列の結果を返すため、XMLよりもJSON形式を選択しました。
問題: System.Version が正しく逆シリアル化されません。2 つの異なる .NET ライブラリを試しました。以下は、それぞれのコード スニペットです。
ServiceStack .NET ライブラリを使用したコード スニペット 1 :
コード スニペット 2 はNewtonsoft .NET ライブラリを使用していますが、結果は同じです。
これを修正する方法は?または、他のどの JSON.NET ライブラリが正しく機能しますか?
vb.net - タイプ System.Version を My.Settings に保存できません
サーバーからアプリケーションのバージョンをチェックし、ユーザーに更新を促すための小さなテスト プロジェクトがあります。System.Version
のタイプをto に保存できないことを除いて、すべて正常に動作しMy.Settings
ます。(ユーザーが再度通知しないように要求した場合に備えて、新しいバージョンを保存したいと思います。)
今、私はバージョンを文字列として保存し、それを前後に変換できることを知っていSystem.Version
ます. ただし、バージョンを保存する代わりに、XML エントリ「バージョン」を値なしで保存するだけです (以下を参照)。
VB.NET、VS 2013、.NET 4 を使用しています。
確認するコードを次に示します。
設定.デザイナー.vb
割り当て例
(oVersion.NewVersion
はタイプSystem.Version
です。)
user.config に保存されているとおり
それで、私は何を間違っていますか?クラスをシリアル化してユーザー設定に保存する必要があるという投稿をいくつか読みましたが、これは単純なバージョン番号であり、一見すると、サポートされているデータ型であると予想されます。