3
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

プログラム初心者のためのC#入門 #2 型

Last updated at Posted at 2019-03-31

#2 型

今回は型について説明します.
型には値型と参照型があり,それぞれ違った特性を持っています.
##値型
値型はデータを直接保持するものです.変数自身がデータであると考えておいてください.

###整数型
その名の通り整数を扱う型です.

型名 扱えるデータ
byte 0~255の整数
sbyte -128~127の整数
short -32768~32767の整数
ushort 0~65535の整数
int -2147483648~2147483647の整数
uint 0~4294967295の整数
long -9223372036854775808~9223372036854775807の整数
ulong 0~18446744073709551615の整数
整数リテラルを入力すると,自動でint型,uint型,long型,ulong型のうち,その値を格納できる最も範囲の狭い型(大抵の場合はint型)として処理されます.なので,uint型,long型,ulong型であることを特別強調したい時はサフィックスを付けます.
サフィックス
uint u / U
long l / L
ulong u / U または l / L または ul / UL または lu / LU
214                   // int型
214u                  // uが付いているのでuint型
2147483648            // int型の範囲を超えているのでuint型
2147483648L           // Lが付いているのでlong型
9223372036854775807u  // uが付いていて,uint型の範囲を超えているのでulong型

###浮動小数型
コンピュータで実数を扱う際,浮動小数(詳しくは知りませんが小数点を動かしてごにょごにょするみたいです)という考え方で近似的に表すのでfloat型と呼ぶようです.double型は倍精度浮動小数とも言われ,大体倍の精度になるため,double型です.decimal型は,float型,double型よりも扱える値の範囲が狭い代わりに精度が高く,2進小数で正確に表すことができない0.1などを正確に表すことができます.

型名 扱えるデータ
float ±1.5e-45~±3.4e38の浮動小数
double ±5.0e-324~±1.7e308の浮動小数
decimal 1.0e-28~7.9e28の浮動小数
実数リテラルも入力すると自動的にdouble型として扱われるため,float型,decimal型を表す際はサフィックスをつけます.また,上記のような指数表記もできます.
サフィックス
float f / F
decimal m / M
3.1        // double型
2.4e51     // double型
3.1f       // fが付いているのでfloat型
3.1m       // mが付いているのでdecimal型

###真理値型
真か偽かのみを格納する型.

型名 扱えるデータ
bool true / false

###文字型
一文字だけ格納できる型です.

型名 扱えるデータ
char 文字

##参照型
値型がデータを直接保持するのに対して,参照型はデータが保存されているアドレスを保持します.変数はデータが格納されている領域のアドレスであると考えておいてください.参照型の変数にはnullという何もないことを意味する値を格納できます.

###文字列型
文字列を格納できる型です.char型を何個も連ねて文字を表します.

型名 扱えるデータ
string 文字列

###object型
全ての型の元になっている型でなんでも格納できます.

型名 扱えるデータ
object なんでも
以下は使用例です.
TypeSample.cs
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace TypeSample
{
    class Program
    {
        static void Main(string[] args)
        {
            byte num = 200;
            sbyte num2 = 34;
            short num3 = 612;
            ushort num4 = 939;
            int num5 = 1245;
            uint num6 = 8346;
            long num7 = 18249L;
            ulong num8 = 127844918uL;

            float f = 3.7f;
            double d = 67.2;
            decimal m = 0.1m;

            bool b = true;

            char c = 'A';

            string str = "Hello.";

            object obj = null; 
        }
    }
}

ここで挙げた基本的な型以外にもたくさんの型があるので調べてみてください.

次回は演算子について説明します.

##練習問題
float型のPIを定義し3.14で初期化したものを画面に出力してください.

解答例
サフィックスを付けるのは当然ですが,`PI`定数にしましたか?円周率がデタラメな値に書き換えられちゃうと困りますからね.細かいですが,こういうところをしっかり書いていくことがバグの少ないコードを書くことに繋がります.
TypeSample.cs
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace TypeSample
{
    class Program
    {
        static void Main(string[] args)
        {
            const float PI = 3.14f;
        }
    }
}
3
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
3
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?