C# と VB.NET の質問掲示板
ASP.NET、C++/CLI、Java 何でもどうぞ
C# と VB.NET の入門サイト
Re[1]: StructureにNewは不要か
(過去ログ 158 を表示中)
掲示板トップ
C# と VB.NET 入門
新規作成
利用方法/規約
トピック表示
ランキング
記事検索
過去ログ
[トピック内 5 記事 (1 - 5 表示)] <<
0
>>
■91459
/ inTopicNo.1)
StructureにNewは不要か
▼
■
□投稿者/ ころっけ
(1回)-(2019/06/29(Sat) 15:28:45)
分類:[.NET 全般]
クラスの場合には、インスタンスを生成するために
変数宣言時にNewをつける必要がありますが、
StructureであるPointの場合には
Dim aaa As Point
と定義しても
Dim aaa As New Point
と定義しても違いはないように思います。
これらはどちらを使用して差はないのでしょうか?
引用返信
編集キー/
編集
■91461
/ inTopicNo.2)
Re[1]: StructureにNewは不要か
▲
▼
■
□投稿者/ キングダム
(40回)-(2019/06/29(Sat) 18:00:34)
2019/06/29(Sat) 19:12:33 編集(投稿者)
■
No91459
(ころっけ さん) に返信
> これらはどちらを使用して差はないのでしょうか?
仕様上差はありません
↓こちらにNewつけてもつけなくても同じだよと書かれてます
構造体とクラス (Visual Basic) | Microsoft Docs
https://docs.microsoft.com/ja-jp/dotnet/visual-basic/programming-guide/language-features/data-types/structures-and-classes
ILを見るとNewをつけたら初期化が2回行われてました
Dim a As New Point()はこれらと同じでした
・Dim a As Point = New Point()
・Dim a As Point = Nothing
引用返信
編集キー/
編集
■91494
/ inTopicNo.3)
Re[2]: StructureにNewは不要か
▲
▼
■
□投稿者/ ころっけ
(2回)-(2019/06/30(Sun) 22:20:39)
ありがとうございます。
ところで、ILって中間言語のことでしょうか?
どうやればそれを確認できますか?
引用返信
編集キー/
編集
■91495
/ inTopicNo.4)
Re[3]: StructureにNewは不要か
▲
▼
■
□投稿者/ Hongliang
(832回)-(2019/06/30(Sun) 22:51:16)
> ところで、ILって中間言語のことでしょうか?
そうです。Intermediate Language。
> どうやればそれを確認できますか?
ildasm.exeを使えば逆アセンブルできます。
Microsoft SDKの中に入っていますが、手っ取り早くは、スタートメニューのVisual Studioフォルダに開発者コマンドプロンプトというのがあると思うので、そこからildasm.exeを起動できます。
引用返信
編集キー/
編集
■91496
/ inTopicNo.5)
Re[1]: StructureにNewは不要か
▲
▼
■
□投稿者/ WebSurfer
(1849回)-(2019/07/01(Mon) 11:30:21)
■
No91459
(ころっけ さん) に返信
> これらはどちらを使用して差はないのでしょうか?
分類:[.NET 全般] となっていますが、VB.NET の話ですよね。
C# では new 有り無しで違いがあるようです。
構造体の使用 (C# プログラミング ガイド)
https://docs.microsoft.com/ja-jp/dotnet/csharp/programming-guide/classes-and-structs/using-structs
"構造体は new 演算子を使用せずにインスタンス化できます。 このような場合、コンストラクターの呼び出し
が行われないため、割り当てがより効率的になります。 ただし、各フィールドは未割り当てのままになり、す
べてのフィールドが初期化されるまではオブジェクトを使用できません。 たとえば、プロパティから値を取得ま
たは設定することができません。"
引用返信
編集キー/
編集
トピック内ページ移動 / <<
0
>>
このトピックに書きこむ
過去ログには書き込み不可
管理者用
-
Child Tree
-