この記事は機械翻訳されています。英語版の記事を表示するには、[英語] のチェック ボックスをオンにしてください。また、テキストにマウス ポインターを合わせると、ポップアップ ウィンドウに英語のテキストを表示することもできます。
翻訳
英語

Int32.TryParse メソッド (String, Int32)

 

公開日: 2016年10月

数値の文字列形式を、それと等価な 32 ビット符号付き整数に変換します。 戻り値は、変換が成功したかどうかを示します。

名前空間:   System
アセンブリ:  mscorlib (mscorlib.dll 内)

public static bool TryParse(
	string s,
	out int result
)

パラメーター

s
Type: System.String

変換する数値を格納する文字列。

result
Type: System.Int32

変換が成功した場合、このメソッドが返されるときに、s に格納された数値と等価の 32 ビット符号付き整数値を格納します。変換に失敗した場合は 0 を格納します。 s パラメーターが null または String.Empty であるか、正しい形式ではない、または MinValue より小さいか MaxValue より大きい数値を表している場合、変換は失敗します。 このパラメーターは初期化されていない状態で渡されています。result で最初に指定された任意の値が上書きされます。

戻り値

Type: System.Boolean

true が正常に変換された場合は s。それ以外の場合は false

TryParseなどのメソッドは、Parseメソッドを除く、TryParse変換が失敗した場合、メソッドが例外をスローしません。 テストするため、例外処理を使用する必要がある、FormatExceptionイベントでs無効なため、正常に解析することはできません。

sパラメーターには、フォームの番号が含まれています。

[ws][サインイン] 桁 [ws]

角かっこ ([および]) は省略可能の項目です。 次の表では、各要素について説明します。

要素

説明

ws

省略可能なホワイト スペースです。

sign

省略可能な符号の場合。

数字

0 から 9 までの数字のシーケンス。

sパラメーターを使用して解釈されますが、NumberStyles.Integerスタイル。 10 進数字以外には、先頭と末尾のスペースが先頭の符号と共にのみを使用できます。 使用できるカルチャに固有の書式情報とスタイル要素を明示的に定義するsを使用して、Int32.TryParse(String, NumberStyles, IFormatProvider, Int32)メソッドです。

sで書式設定情報を使用してパラメーターを解析、NumberFormatInfoオブジェクトの現在のシステムのカルチャ用に初期化します。 詳細については、「CurrentInfo」を参照してください。

このオーバー ロード、TryParseメソッド内のすべての桁を解釈し、sとして小数点以下桁数のパラメーターです。 16 進数の文字列表現を解析するには、呼び出し、Int32.TryParse(String, NumberStyles, IFormatProvider, Int32)オーバー ロードします。

次の例では、Int32.TryParse(String, Int32)別の文字列値の数を持つメソッドです。

using System;

public class Example
{
   public static void Main()
   {
      String[] values = { null, "160519", "9432.0", "16,667",
                          "   -322   ", "+4302", "(100);", "01FA" };
      foreach (var value in values) {
         int number;

         bool result = Int32.TryParse(value, out number);
         if (result)
         {
            Console.WriteLine("Converted '{0}' to {1}.", value, number);         
         }
         else
         {
//            if (value == null) value = ""; 
            Console.WriteLine("Attempted conversion of '{0}' failed.", 
                               value == null ? "<null>" : value);
         }
      }
   }
}
// The example displays the following output:
//       Attempted conversion of '<null>' failed.
//       Converted '160519' to 160519.
//       Attempted conversion of '9432.0' failed.
//       Attempted conversion of '16,667' failed.
//       Converted '   -322   ' to -322.
//       Converted '+4302' to 4302.
//       Attempted conversion of '(100);' failed.
//       Attempted conversion of '01FA' failed.

文字列の一部をTryParse(String, Int32)メソッドはこの例では変換することはありませんが。

  • "9432.0". 小数点の記号を含めることはできませんので、変換に失敗します。整数部の桁のみでなければなりません。

  • "16,667". 文字列は、グループの区切り記号を含めることはできませんので、変換に失敗します。整数部の桁のみでなければなりません。

  • "(100)". 文字列は、現在のカルチャによって定義されたもの以外の負の符号を含めることはできませんので、変換が失敗したNumberFormatInfo.NegativeSignNumberFormatInfo.NumberNegativePatternプロパティです。

  • "01FA"です。 文字列は 16 進数の数字を含めることはできませんので、変換に失敗します。10 進数字のみでなければなりません。

ユニバーサル Windows プラットフォーム
8 以降で使用可能
.NET Framework
2.0 以降で使用可能
ポータブル クラス ライブラリ
サポート対象: 移植可能 .NET プラットフォーム
Silverlight
2.0 以降で使用可能
Windows Phone Silverlight
7.0 以降で使用可能
Windows Phone
8.1 以降で使用可能
トップに戻る
表示: