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

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

関連記事

ASP.NETのRazor入門~Razorとは?や使い方をご紹介

<目次> (1) ASP.NETのRazor入門~Razorとは?や使い方をご紹介  (1-1) Razorとは?  (1-2) 基本構文  (1-3) サンプルプログラム (1) ASP.NETのR …

C#のデリゲートが分からない・・を解決!初心者向けになるべく分かり易く説明してみた

<目次> (1) C#のデリゲートが分からない・・を解決!初心者向けになるべく分かり易く説明してみた  (1-1) デリゲートとは?「関数へのポインタ」だけでは説明しきれない・・  (1-2) デリゲ …

C#のIEnumerableとは?使い方(foreachでの要素取り出し)を順を追って解説

<目次> (1) C#のIEnumerableとは?使い方(foreachでの要素取り出し)を順を追って解説  (1-1) IEnumerableとは?  (1-2) IEnumerableの実装の流 …

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

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

Xamarin.FormsでHelloworldする手順+Buttonコントロール追加のサンプルコード紹介

<目次> (1) Xamarin.FormsでHelloworldする手順  (1-1) Xamarin.Formsプロジェクト構成の概要  (1-2) MainPage.xamlの修正  (1-3) …

  • English (United States)
  • 日本語
Top