お世話になります。
Enum(列挙型)のコードを写経している時に、上手く?出力されたのはいいのですがなぜ以下のコードで出力がされるのかがわかりません。
C#
1using Microsoft.SqlServer.Server; 2using System; 3using System.Collections.Generic; 4using System.Linq; 5using System.Text; 6using System.Threading.Tasks; 7using System.IO; 8 9namespace ConsoleApp1 10{ 11 //列挙型の定義 12 enum 有効無効 13 { 14 有効 = 1, 15 無効 = 0, 16 効果=3 17 }; 18 19 class Program 20 { 21 public static void Main() 22 { 23 有効無効 a, b, c; 24 Enum.TryParse<有効無効>("無効",out a); 25 Enum.TryParse<有効無効>("有効", out b); 26 Enum.TryParse<有効無効>("False", out c); 27 Console.WriteLine(a); 28 Console.WriteLine(b); 29 Console.WriteLine(c); 30 31 } 32 } 33} 34 35
考えていた出力内容は
Console.WriteLine(a); → True
Console.WriteLine(b); → True
Console.WriteLine(c); → false
だと思っていたのですが実際実行してみると
Console.WriteLine(a); → 無効
Console.WriteLine(b); → 有効
Console.WriteLine(c); → 無効
と出力されます。
どこかで考え方が間違ってしまっていると思うのですが
どこが間違っているのか正確に理解が出来ていません。
なんとなくですがTryParseで変換が出来たモノ(返り値がTrueになったモノ)がout変数に入れられているんだなあ?くらいしかふんわりとしかわかっていません。
a,b,cというのはどこを示しているのでしょうか??
ご教授よろしくお願いいたします。
回答2件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2020/07/15 15:02