回答編集履歴

2

修正

2018/01/25 14:43

投稿

Zuishin
Zuishin

スコア28660

test CHANGED
@@ -80,7 +80,7 @@
80
80
 
81
81
  {
82
82
 
83
- public (int a, int b) Fuga = (1, 2);
83
+ public (int a, int b) Fuga;
84
84
 
85
85
  public int c, d;
86
86
 
@@ -88,7 +88,7 @@
88
88
 
89
89
 
90
90
 
91
- var hoge = new HogeClass();
91
+ var hoge = new HogeClass() { Fuga = (1, 2) };
92
92
 
93
93
  Console.WriteLine(hoge.Fuga.a);
94
94
 

1

追記

2018/01/25 14:42

投稿

Zuishin
Zuishin

スコア28660

test CHANGED
@@ -59,3 +59,37 @@
59
59
  また、new できないクラスを作るには通常 [プライベート コンストラクター](https://docs.microsoft.com/ja-jp/dotnet/csharp/programming-guide/classes-and-structs/private-constructors) を使います。
60
60
 
61
61
  しかしこれも `Activator.CreateInstance()` を使えばインスタンス化できます。
62
+
63
+
64
+
65
+ 追記
66
+
67
+
68
+
69
+ C#7.0 以降になりますが、ValueTuple を使えば次のように書けます。
70
+
71
+
72
+
73
+ ```C#
74
+
75
+ using System;
76
+
77
+
78
+
79
+ public class HogeClass
80
+
81
+ {
82
+
83
+ public (int a, int b) Fuga = (1, 2);
84
+
85
+ public int c, d;
86
+
87
+ }
88
+
89
+
90
+
91
+ var hoge = new HogeClass();
92
+
93
+ Console.WriteLine(hoge.Fuga.a);
94
+
95
+ ```