現在、前担当者から引き継いだC#のプログラムを見ているのですが、一部気になる記述を見かけました。
サンプルとして以下のコードを貼らせていただきます。
Program.cs
1using System; 2 3namespace HelloWorld 4{ 5 class Program 6 { 7 static void Main(string[] args) 8 { 9 UserA userA1 = new UserA(); 10 UserB userB1 = new UserB(); 11 UserA userA2 = new UserA(2); 12 UserB userB2 = new UserB(3); 13 Console.WriteLine("userA1:" + userA1.Age); 14 Console.WriteLine("userB1:" + userB1.Age); 15 Console.WriteLine("userA2:" + userA2.Age); 16 Console.WriteLine("userB2:" + userB2.Age); 17 /* 18 userA1.Age = 4; //code error 19 userB1.Age = 5; //code error 20 */ 21 Console.WriteLine("Hello World!"); 22 } 23 } 24 25 class UserA 26 { 27 public UserA() 28 { 29 } 30 31 public UserA(int age) { 32 _age = age; 33 } 34 35 private int _age = 0; 36 public int Age 37 { 38 get { return _age; } 39 } 40 } 41 42 class UserB 43 { 44 public UserB() 45 { 46 } 47 48 public UserB(int age) { 49 Age = age; 50 } 51 52 public int Age 53 { 54 get; 55 private set; 56 } = 0; 57 } 58} 59
現在は「UserA」の「_age」を使う書き方となっており、個人的には「UserB」の「_age」を使わず、初期化子やアクセス修飾子を使う書き方の方が良いのではと考えております。
※自分は2ヶ月程度しかC#に触れたことがなく、そのあたりの良し悪しがよくわかってないです。
特に懸念・デメリットなどなければ「UserB」の書き方に修正しようと考えているのですが、何か問題などありますでしょうか。
なお、環境につきましては以下のようになっております。
- Unity 2018.4.3f - Scripting Runtime Version:.NET 4.x Equivalent - Scripting Backend: IL2CPP - .NET Standard 2.0
回答4件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2019/12/17 03:15 編集