2009-04-27 13 views
2

私はここで構造体(1つは可変構造体について)に関するいくつかのスレッドを読んでいます。構造体にIDがない場合はどういう意味ですか?

構造体にIDがないのはどういう意味ですか?私はそれが数字のようになると推測しています。 5、文脈がない(5何?)。一方、クライアントはサービスを期待している人物なので、アイデンティティがあります。私は正しく考えていますか?

私は技術的な違いと構造体がスレッドセーフであることを知っています(ただし、変更できない限り、状態を変更するメソッドを書き込むことができます)。メソッドに渡すたびに新しいコピーがあります。 ...

+0

スレッドはstructs/identityについて話していますか? –

+0

http://stackoverflow.com/questions/608542/immutability-of-structsは私が意味するスレッドです。 – dotnetdev

答えて

9

これは、構造体に関するデータだけがストアであることを意味します。つまり、1つの「5」と別の「5」の間に違いはありません。クラスとこれを比較してください。どちらも同じデータが含まれているものの、今

Person person1 = new Person("Jon"); 
Person person2 = new Person("Jon"); 
Person person3 = person2; 

person1person2は、個別のオブジェクトへの参照を持っています。 person2およびperson3は両方ともと同じオブジェクトを参照しています。構造体では、この区別は存在しません。

2

構造体は値型なので、値を表します。 IDはそれへの参照を作成するためにのみ有用である。その場合、クラスである方が良い。

0

Evans' bookの影響を受けていると思いますが、エンティティと値オブジェクトは区別されます。

+0

私はその本を読んだことはありませんが、助けてくれると思います! :) – dotnetdev

関連する問題