String」タグアーカイブ

Enum.Parseの使い方

C#ではint.Parsefloat.Parseを使って文字列型から数値型への変換ができます。これと同じような感じで文字列型からenum型に変換する方法がないかなと思って調べてみました。

ということで、SystemにあるEnum.ParseEnum.TryParseを使うと良いみたいです。

使い方は次のような感じです。

enum Example { Apple, Orange, Grape }

Enum.Parse

try {
  var value = (Example)Enum.Parse(typeof(Example), "Apple");
  // 実行したい処理
}
catch (ArgumentException) {
  // エラー処理
}

Enum.TryParse

Example value;

if (Enum.TryParse("Apple", out value)) {
  // 実行したい処理
}

大文字・小文字を無視して変換したい場合はignoreCase=falseとしてみてください。

リンク

Enum.Parse Method (System) | Microsoft Docs
https://docs.microsoft.com/en-us/dotnet/api/system.enum.parse?view=netframework-4.8

Enum.TryParse Method (System) | Microsoft Docs
https://docs.microsoft.com/en-us/dotnet/api/system.enum.tryparse?view=netframework-4.8

C#で数字を3桁ごとにコンマで区切って表示する簡単な方法

数字を3桁ごとにコンマで区切って表示したい場合、C#では文字列補間の補間式を使うと簡単にできるみたいです。

補完式の使い方は次のような感じです。

{<interpolationExpression>[,<alignment>][:<formatString>]}

サンプル

int price = 12345;
Console.WriteLine($"price: {price:#,0}");

実行結果

price: 12,345

ちなみに、string.Formatを使って実装したい場合は次のような感じになります。

サンプル

int price = 12345;
Console.WriteLine(string.Format("price: {0:#,0}", price));

実行結果

price: 12,345

リンク

$ – string interpolation – C# reference | Microsoft Docs
https://docs.microsoft.com/en-us/dotnet/csharp/language-reference/tokens/interpolated

C#で配列char[]をstringに変換する方法

C#でcharの配列をstringに変換する方法を調べてみたところ、次の2つが使い易そうな感じでした。

new stringを使う方法

char[] array = { 'a', 'b', 'c', 'd', 'e' };
string s = new string(array);

Console.WriteLine(s);

実行結界

abcde

string.Concatを使う方法

char[] array = { 'a', 'b', 'c', 'd', 'e' };
string s = string.Concat(array);

Console.WriteLine(s);

実行結界

abcde

他にもstring.Appendを使って1文字ずつ追加していく方法等いろいろあると思いますので、使い易い実装を探してみてください。