9cubed
ブログ | Tailwind | Vite | Python | Node.js | Linux | PowerShell | その他 | 将棋ウォーズ | 歌の練習
プログラミング講座

第136回 ジェネリックについて

公開日:2015-04-26
更新日:2019-05-11

1. 概要

独り言によるプログラミング講座、「第136回 ジェネリックについて」です。
ジェネリックと聞くと、ジェネリック医薬品を思い浮かべますが、あまり考えない方が良いです。
クラスで保持する変数の型や、メソッドの引数の型を、使用者側から指定できるようにしたのがジェネリックです。

2. 動画



3. 動画中に書いたソース

using System;
using System.Collections;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;

namespace WindowsFormsApplication1
{
    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
        }

        private void Form1_Load(object sender, EventArgs e)
        {
            //★独り言によるプログラミング講座

            //■ジェネリックについて

            //  型の指定
            /*
            var list = new List<string>();
            list.Add("abc");
            list.Add("123");
            //list.Add(999); //エラー

            MessageBox.Show(list[0]);
            MessageBox.Show(list[1]);
            */

            /*
            ArrayList list = new ArrayList();
            list.Add("abc");
            list.Add("123");
            list.Add(999);

            MessageBox.Show(list[0].ToString());
            MessageBox.Show(list[1].ToString());
            MessageBox.Show(list[2].ToString());
            */

            /*
            //お醤油のビン
            ArrayList list = new ArrayList();
            list.Add("お醤油");
            list.Add("ソース");

            var list = new List<お醤油>();
            list.Add(お醤油);
            //list.Add(ソース); //エラー
            */

            /*
            DataInt data = new DataInt();
            data.value = 123;

            DataString data2 = new DataString();
            data2.value = "abc";
            */

            var dataInt = new Data<int>();
            dataInt.value = 1;

            var dataStr = new Data<string>();
            dataStr.value = "abc";

            MessageBox.Show(dataInt.value.ToString());
            MessageBox.Show(dataStr.value.ToString());

            this.Dispose();
        }
    }

    class Data<T> {
        public T value;
    }

    class DataInt {
        public int value = 0;
    }

    class DataString {
        public string value = "";
    }

    class DataFloat {
        public float value = 0;
    }
}

YouTube X

新着一覧

  • SCSS のインストールVite
  • Tailwind CSS のプロジェクトの作成Tailwind
  • TypeScriptのプロジェクトの作成Vite
  • Flask のインストールと動作確認Python
  • 簡易Webサーバーの作成Python
  • pipeline で文章の生成Python
  • pipeline で文章の要約Python
  • 音声から文字起こしPython
  • Node.js のインストールNode.js
  • .ps1(PowerShellスクリプト)を実行可能にするPowerShell

アーカイブ

  • 2025/12
  • 2025/11
  • 2025/10
  • 2025/09
  • 2025/08

以前のカテゴリー一覧

  • CakePHP3
  • CentOS7
  • HTML・CSS・JavaScript
  • Haskell
  • JavaScript
  • Kotlin
  • Laravel5
  • PHP
  • Python
  • Ruby
  • RubyOnRails5
  • TypeScript
  • Vue.js
  • Webサーバ講座
  • Webプログラミング講座
  • jQuery
  • linux
  • パソコン講座
  • ブログ
  • プログラミング講座
  • メモ帳作成講座
  • 数学

Copyright © 9cubed. All Rights Reserved.

プライバシーポリシー 利用規約
▲