2016-10-13 11 views
2

なぜProtoBuff.Netはnullをサポートしていませんか?ProtoBuff.Netはnullをサポートしていません。どうして?

私はProtoBufを経由していましたが、なぜnullの値がサポートされていないのか不思議でした。 nullの値を割り当てようとすると、例外が発生します。文字列のようなrefの種類でさえ、これをサポートしていません。

pb::ThrowHelper.ThrowIfNull(value, "value"); 

私はPROTOSが、それは言語の数が多いが、ヌル言語間概念はありません(何DateTimeが理由です)をサポートするように最低限の基本的なものを維持することを知っていますか?

また、私は何かを見落としているかもしれません。

+0

一般的にプロトコルバッファーについて話しているのか、.NET用に具体的に実装しているのかは明らかではありません(protobuf.netおそらく?) –

+0

はい。特定のProtoBuf.Net。 –

+0

質問タイトルと質問の本文の最初の行の両方を変更したい場合があります。 –

答えて

3

基本プロトコル仕様( "protobuf")にはnullの概念がなく、表現方法がないため、単純にです。私がプロトコルでそれを表現できない場合、サポートできる最善のものは暗黙的なものです。「何かがないことはそれを残すことを意味します。つまり、おそらくnull」を意味します。

+0

しかし、 'int'のようなプログラミングパラダイムを越えたグローバルな概念は' null'ではありませんか? –

+0

@NikhilAgrawalあなたはそれを知ることに驚くかもしれません。 JavaScriptは実際には整数を持っていません:) – jpa

+0

@NikhilAgrawalあなたはプロトコルを設計した人々と一緒にそれを取ることができます... –

関連する問題