Rainbow Engine

IT技術を分かりやすく簡潔にまとめることによる学習の効率化、また日常の気付きを記録に残すことを目指します。

C#

C#で型をStringからintに変更する方法~TryParseメソッドによる型変換~

投稿日:2020年11月13日 更新日:

<目次>

(1) C#で型をStringからintに変更する方法
 (1-1) 構文
 (1-2) サンプルプログラム
 (1-3) プログラム補足「'{0}’や'{1}’」について
 (1-4) サンプルプログラムの作成・実行手順

(1) C#で型をStringからintに変更する方法

(1-1) 構文

変換にはTryParseメソッドを使います。このメソッドは「文字列型の数字」から「int型の整数」を抽出します。例えば「”12345″」という「文字列型の数字」から「12345」という「数字」を抽出して、int型の変数に格納するイメージです。そして変換の成功or失敗によってbool型の戻り値を返却します。

(構文)

bool [bool型変数] = int.TryParse([String型 s], out [int型 result]);

(説明)
TryParseメソッドの引数の意味は次の通りです。
第一引数 [String型 s]:変換対象の文字列
第二引数 [int型 result]:変換成功時に格納するint型の変数

目次にもどる

(1-2) サンプルプログラム

(サンプルプログラム)

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace ConsoleApp1
{
  class Program
  {
    static void Main(string[] args)
    {
      //String型⇒int型への変換成功時の結果を格納するための変数		
      int number;
      
      //変換対象のString型配列を定義
      //  1つ目は変換成功する例です。
      //  2つ目・3つ目は変換失敗する例(文字や全角数字が混じっているため)
      String[] values = { "12345", "1234k", "12345" };

      //String型配列の中身を順番にループ
      foreach (var value in values)
      {
        //TryParseメソッドで変換を実施
        bool success = int.TryParse(value, out number);
        //もし変換成功したら
        if (success)
        {
          //変換成功メッセージ
          //   '{0}'や'{1}'はカンマの後の引数のインデックスに対応しています。
          //   つまり'{0}'=value、'{1}'=numberをそれぞれ指しており、実際にメッセージを表示する際は
          //   '{0}'や'{1}'を文字列に置き換えて表示しています。
          Console.WriteLine("Conversion of '{0}' to '{1}'.", value, number);
        }
        else
        {
          //変換失敗メッセージ
          Console.WriteLine("Attempted conversion of '{0}' failed.", value ?? "<null>");
        }
        
      }
    }
  }
}

(サンプルプログラム実行結果)

Conversion of '12345' to '12345'.
Attempted conversion of '1234k' failed.
Attempted conversion of '12345' failed.
続行するには何かキーを押してください . . .

 

(図114)サンプルプログラム実行結果
想定通り1つ目の引数は変換成功し、2つ目・3つ目の引数は変換失敗した。

目次にもどる

(1-3) プログラム補足「'{0}’や'{1}’」について

Console.WriteLineの中で登場する'{0}’や'{1}’についての補足です。
{0}はMessageFormatと呼ばれ、Console.WriteLineにて与えた引数のうち、指定したインデックスのものを取得する機能です。
//[Example]
Console.WriteLine("{0} and {1} and {2} is a fantastic and marvelous tennis player", "Roger Federer", "Rafael Nadal", "Novak Djokovic");

//[Result]
"Roger Federer and Rafael Nadal and Novak Djokovic is a fantastic and marvelous tennis player"

 

(図115)

目次にもどる

(1-4) サンプルプログラムの作成・実行手順

ここでは初学者の方向けに、上記のサンプルプログラムをVisual Studioで実行する場合の、実行までの手順をご紹介します(プロジェクトの新規作成など)

①Visual Studioで新規プロジェクトを作成

②テンプレートは「コンソールアプリ(.NET Framework)を選択します。

③プロジェクトを作成

④サンプルプログラムを転記して「[Ctrl]+[F5]」でデバッグ

目次にもどる

Adsense審査用広告コード


Adsense審査用広告コード


-C#

執筆者:


comment

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

関連記事

ASP.NET MVCでURLのパラメータを取得する仕組み

  <目次> (1) ASP.NET MVCでURLのパラメータを取得する仕組み  (1-1) 前提知識:URLにパラメータを埋め込む方法  (1-2) URLのパラメータ取得方法  (1- …

C#のIComparerの実装方法や用法について(サンプルプログラムあり)

<目次> (1) C#のIComparerの実装方法や用法について  (1-1) IComparerの概要  (1-2) STEP0:比較をするクラスの定義  (1-3) STEP1:ICompare …

ASP.NET MVCでformをSubmitする方法

<目次> (1) ASP.NET MVCでformをSubmitする方法  (1-1) 概要  (1-2) HTMLを使ってformをsubmitする方法  (1-3) サンプルプログラム  (1-4 …

C#で「CS0518: 定義済みの型 ‘System.Range’は定義、またはインポートされていません」エラーが出た時の原因と対処

  <目次> (1) C#で「CS0518: 定義済みの型 ‘System.Range’は定義、またはインポートされていません」エラーが出た時の原因と対処  (1-1 …

.NETで「SystemInvalidOperationException」例外(ZombieCheck、Rollback)の調査記録

<目次> (1) .NETで「SystemInvalidOperationException」例外(ZombieCheck、Rollback)の調査記録  (1-1) エラーメッセージ  (1-2) …

  • English (United States)
  • 日本語
Top