Chapter 02無料公開

基礎

midoliy
midoliy
2020.10.25に更新

📚目次

🔵コードにコメントを入れる
 🔖 1行コメント
 🔖 複数行コメント
🔵変数を宣言する
 🔖 整数型を宣言する
  ⚙ short/ushort型
  ⚙ int/uint型
  ⚙ long/ulong型
  ⚙ BigInteger型
  ⚙ 16進数で整数を宣言する
  ⚙ 2進数で整数を宣言する
 🔖 浮動小数点数型を宣言する
  ⚙ float型
  ⚙ double型
  ⚙ decimal型(10進数型)
 🔖 文字列型を宣言する
  ⚙ 文字列リテラル
  ⚙ 逐語的文字列リテラル
  ⚙ 挿入文字列リテラル
 🔖 dynamic型を利用する
  ⚙ dynamic型
  ⚙ ExpandoObject型
 🔖 タプル型を利用する(C# 7.0)
  ⚙ タプル
  ⚙ 名前付きタプル
🔵定数を宣言する
 🔖 const
 🔖 static readonly

🔵コードにコメントを入れる

🔖 1行コメント

定義
// コメント
サンプル
using System;

class Program
{
    static void Main(string[] args)
    {
        // ここは実行されない
        Console.WriteLine("Hello, World!!");
    }
}

目次に戻る

🔖 複数行コメント

定義
/* 
    コメント
*/
サンプル
using System;

class Program
{
    static void Main(string[] args)
    {
        /*
            ここは
            実行されない
        */
        Console.WriteLine("Hello, World!!");
    }
}

目次に戻る

🔵変数を宣言する

🔖 整数型を宣言する

⚙ short/ushort型

定義
short value;
var value = (short)整数値;

ushort value;
var value = (ushort)整数値;
サンプル
using System;

class Program
{
    static void Main(string[] args)
    {
        var value1 = (short)123;
        var value2 = (ushort)123;
    }
}

目次に戻る

⚙ int/uint型

定義
int value;
var value = 整数値;
var value = 整数値u;
サンプル
using System;

class Program
{
    static void Main(string[] args)
    {
        var value1 = 123;
        var value2 = 123u;
    }
}

目次に戻る

⚙ long/ulong型

定義
long value;
var value = 整数値l;
var value = (long)整数値;


ulong value;
var value = 整数値ul;
var value = (ulong)整数値;
サンプル
using System;

class Program
{
    static void Main(string[] args)
    {
        var value1 = 123l;
        var value2 = 123ul;
    }
}

目次に戻る

⚙ BigInteger型

定義
var value = new System.Numerics.BigInteger(数値);
var value = (System.Numerics.BigInteger)数値;
サンプル
using System;
using System.Numerics;

class Program
{
    static void Main(string[] args)
    {
        var value1 = new BigInteger(1234567890);
        var value2 = (BigInteger)1234567890;
    }
}

目次に戻る

⚙ 16進数で整数を宣言する

定義
// 0~Fで構成される
var value = 0x●●;
サンプル
class Program
{
    static void Main(string[] args)
    {
        var value1 = 0xFF;
        var value2 = 0xFFEEDD;
    }
}

目次に戻る

⚙ 2進数で整数を宣言する

定義
// 0,1で構成される
var value = 0b●●;
サンプル
class Program
{
    static void Main(string[] args)
    {
        var value1 = 0b0001;
        var value2 = 0b0101_0101;
    }
}

目次に戻る

🔖 浮動小数点数型を宣言する

⚙ float型

定義
float value;
var value = 実数値f;
var value = (float)実数値;
サンプル
class Program
{
    static void Main(string[] args)
    {
        var value1 = 123f;
        var value2 = (float)3.14;
    }
}

目次に戻る

⚙ double型

定義
double value;
var value = 実数値;
var value = 実数値d;
サンプル
class Program
{
    static void Main(string[] args)
    {
        var value1 = 123.456;
        var value2 = 3.14d;
    }
}

目次に戻る

⚙ decimal型(10進数型)

定義
decimal value;
var value = 数値m;
var value = (decimal)数値;
サンプル
class Program
{
    static void Main(string[] args)
    {
        var value1 = 123.456m;
        var value2 = (decimal)500;
    }
}

目次に戻る

🔖 文字列型を宣言する

⚙ 文字列リテラル

定義
var text = "ここに文字列を定義する";
サンプル
using System;

class Program
{
    static void Main(string[] args)
    {
        var text = "\"Hello, World!!\"";
        Console.WriteLine(text);
    }
}

"Hello, World!!"

目次に戻る

⚙ 逐語的文字列リテラル

単純なエスケープシーケンス・16進数のエスケープシーケンス・Unicodeのエスケープシーケンスはリテラルに解釈されます。
引用符(")だけはリテラル解釈されません。逐語的文字列リテラル内で引用符を利用する場合は、引用符を2重にすることで利用することができます。

定義
var text = @"ここに文字列を定義する";
サンプル
using System;

class Program
{
    static void Main(string[] args)
    {
        var text = @"""Hello, World!!""";
        Console.WriteLine(text);
    }
}

"Hello, World!!"

目次に戻る

⚙ 挿入文字列リテラル

中カッコ{}に変数を指定することで、文字列中に変数の値を挿入することができます。
また、ToString(IFormatProvider)を利用できる型の場合、フォーマット文字列を渡すことも可能です。

定義
var text = $"ここに文字列を定義する。{ここに変数を指定}";
var text = $"ここに文字列を定義する。{ここに変数を指定:ここにフォーマット文字列}";
サンプル
using System;

class Program
{
    static void Main(string[] args)
    {
        var name = "midoliy";
        var hello = $"Hello, {name}.";
        var text = $"({DateTime.Now:yyyy/MM/dd HH:mm:ss}) {hello}";
        Console.WriteLine(text);
    }
}

(2020/10/12 21:17:41) Hello, midoliy.

目次に戻る

🔖 dynamic型を利用する

⚙ dynamic型

定義
dynamic value;
var value = (dynamic)何かしらの値;
サンプル
using System;

class Program
{
    static T Add<T>(T lhs, T rhs)
    {
        dynamic l = lhs, r = rhs;
        return l + r;
    }

    static void Main(string[] args)
    {
        Console.WriteLine( Add(10, 20) );
        Console.WriteLine( Add("Sample", " Text") );
    }
}

30
Sample Text

目次に戻る

⚙ ExpandoObject型

定義
dynamic value = new System.Dynamic.ExpandoObject();
var value = (dynamic)new System.Dynamic.ExpandoObject();
サンプル
using System;
using System.Dynamic;

class Program
{
    static void Main(string[] args)
    {
        var obj = (dynamic)new ExpandoObject();
        obj.Name = "midoliy";
        obj.PrintHello = (Action<dynamic>)((dynamic value) => Console.WriteLine($"Hello, {value.Name}."));
        obj.PrintHello(obj);
    }
}

Hello, midoliy.

目次に戻る

🔖 タプル型を利用する(C# 7.0)

⚙ タプル

定義
var value = (1,2 (,3...));
サンプル
using System;

class Program
{
    static void Main(string[] args)
    {
        var tuple1 = ("midoliy", 31);
        Console.WriteLine($"name= {tuple1.Item1}, age= {tuple1.Item2}");

        var tuple2 = ("midoliy", 31, "大阪");
        Console.WriteLine($"name= {tuple2.Item1}, age= {tuple2.Item2}, address= {tuple2.Item3}");
    }
}

name= midoliy, age= 31
name= midoliy, age= 31, address= 大阪

目次に戻る

⚙ 名前付きタプル

定義
var value = (名前1:1, 名前2:2 (, 名前3:3...));
サンプル
using System;

class Program
{
    static void Main(string[] args)
    {
        var tuple1 = (Name:"midoliy", Age:31);
        Console.WriteLine($"name= {tuple1.Name}, age= {tuple1.Age}");

        var tuple2 = (Name:"midoliy", Age:31, Address:"大阪");
        Console.WriteLine($"name= {tuple2.Name}, age= {tuple2.Age}, address= {tuple2.Address}");
    }
}

name= midoliy, age= 31
name= midoliy, age= 31, address= 大阪

目次に戻る

🔵定数を宣言する

⚙ const

定義
アクセシビリティ constvalue =;
サンプル
using System;

class Program
{
    private const int _value = 123456;

    static void Main(string[] args)
    {
        Console.WriteLine($"定数= {_value}");
    }
}

定数= 123456

目次に戻る

⚙ static readonly

定数宣言をする場合、バージョニング問題の兼ね合いでstatic readonlyを利用することが多いです。
ただ、厳密にはstatic readonlyは定数ではないので、その点は留意しておきましょう。

定義
アクセシビリティ static readonlyvalue =;
サンプル
using System;

class Program
{
    private static readonly int _value = 123456;

    static void Main(string[] args)
    {
        Console.WriteLine($"定数= {_value}");
    }
}

定数= 123456

目次に戻る