Rainbow Engine

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

C#

C#のvarの使いどころは?初めての方に向けてサンプルプログラムを使ってご紹介

投稿日:

<目次>

(1) C#のvarの使いどころは?初めての方に向けてサンプルプログラムを使ってご紹介
 (1-1) ArrayListに異なるデータ型が混在しているパターン
 (1-2) LINQのクエリ結果取得

(1) C#のvarの使いどころは?初めての方に向けてサンプルプログラムを使ってご紹介

(1-1) ArrayListに異なるデータ型が混在しているパターン

ArrayListに複数のデータ型の値をAddしていったケースなどは、値を取り出すのが通常であれば手間ですが、var変数でループした値を受け取る事で、異なる型が混在していてもループ処理を行う事ができます。

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

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

namespace RP_IT0198_var_usage
{
 class Program
 {
  static void Main(string[] args)
  {
   ArrayList numlist = new ArrayList();
   //配列にstringとintを混ぜてAddする
   numlist.Add("One");
   numlist.Add(2);
   numlist.Add("Three");
   numlist.Add(4);
   numlist.Add("Five");
   numlist.Add(6);
   //varで受け取ることでループできる
   foreach (var num in numlist)
   {
    Console.WriteLine(num);
   }
  }
 }
}

(図111)実行結果

目次にもどる

(1-2) LINQのクエリ結果取得

LINQのクエリからは様々な型のデータが返される可能性があるため、それらの値を一つの変数で受け取れるのはこの「var型」のみになります。

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

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

namespace SampleProgram
{
  class Program
  {
    static void Main(string[] args)
    {
      //探索対象の配列を定義
      string[] big4_names = { "Roger Federer", "Rafael Nadal", "Novak Djokovic", "Andy Murray" };
      
      //探索のクエリを定義
      //【ポイント】結果はvar変数で受け取る
      //  今回の例ではすぐ上で定義しておりstring型である事は明白ですが
      //  実際クエリ発行する際は外部から取得するためデータ型に確証がないケースでvarが活躍
      var myLinqQuery = from name in big4_names
               where name.Contains('e')
               select name;
      //クエリの実行
      foreach (var name in myLinqQuery)
        Console.WriteLine(name + " ");
    }
  }
}

(図121)実行結果

目次にもどる

Adsense審査用広告コード


Adsense審査用広告コード


-C#

執筆者:


comment

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

関連記事

C#のコンソールアプリで引数を与えて実行する方法

<目次> (1) C#のコンソールアプリで引数を与えて実行する方法  (1-1) 設定箇所  (1-2) サンプルプログラム  (1-3) サンプルプログラムの補足 (1) C#のコンソールアプリで引 …

SOAP通信の仕組みやHTTPプロトコルとの違いなど

  <目次> (1) SOAP通信の仕組みやHTTPプロトコルとの違いなど  (1-1) SOAPとは?  (1-2) SOAPを構成する要素  (1-3) SOAPの通信の仕組み&HTTP …

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

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

C#のdynamic型とは?使いどころやvarとの違いもご紹介

  <目次> (1) C#のdynamic型とは?使いどころやvarとの違いもご紹介  (1-1) dynamic型とは?  (1-2) dynamic型の使いどころ  (1-3) 動作確認 …

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

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

  • English (United States)
  • 日本語
Top