C#の基礎

C#プログラムの基本的な構造は以下の通りです:

csharp
コードをコピーする
using System;

namespace HelloWorld
{
    class Program
    {
        static void Main(string[] args)
        {
            Console.WriteLine("Hello, World!");
        }
    }
}
このプログラムは、"Hello, World!"とコンソールに出力します。

2. 変数とデータ型
C#には様々なデータ型があります。以下は基本的なデータ型と変数の宣言方法です:

csharp
コードをコピーする
int integerNumber = 10;
double doubleNumber = 20.5;
char singleCharacter = 'A';
string text = "Hello, C#";
bool isTrue = true;
3. 演算子
C#では、基本的な算術演算子、比較演算子、論理演算子が使用できます。

csharp
コードをコピーする
int a = 10;
int b = 20;

int sum = a + b; // 加算
int diff = a - b; // 減算
int product = a * b; // 乗算
int quotient = a / b; // 除算
int remainder = a % b; // 剰余

bool isEqual = (a == b); // 等しいかどうか
bool isGreater = (a > b); // 大きいかどうか
bool isLess = (a < b); // 小さいかどうか

bool andCondition = (a > 5 && b < 30); // AND
bool orCondition = (a > 15 || b < 25); // OR
bool notCondition = !(a == b); // NOT
4. 条件分岐
C#では、if文やswitch文を使って条件分岐を行うことができます。

csharp
コードをコピーする
int number = 10;

if (number > 0)
{
    Console.WriteLine("Positive number");
}
else if (number < 0)
{
    Console.WriteLine("Negative number");
}
else
{
    Console.WriteLine("Zero");
}

switch (number)
{
    case 0:
        Console.WriteLine("Zero");
        break;
    case 10:
        Console.WriteLine("Ten");
        break;
    default:
        Console.WriteLine("Other number");
        break;
}
5. ループ
C#では、forループ、whileループ、do-whileループが使用できます。

csharp
コードをコピーする
// forループ
for (int i = 0; i < 5; i++)
{
    Console.WriteLine(i);
}

// whileループ
int j = 0;
while (j < 5)
{
    Console.WriteLine(j);
    j++;
}

// do-whileループ
int k = 0;
do
{
    Console.WriteLine(k);
    k++;
} while (k < 5);
6. メソッド
C#では、コードを再利用可能な単位に分けるためにメソッドを使用します。

csharp
コードをコピーする
class Program
{
    static void Main(string[] args)
    {
        GreetUser("John");
    }

    static void GreetUser(string name)
    {
        Console.WriteLine("Hello, " + name);
    }
}
7. クラスとオブジェクト
C#はオブジェクト指向言語であり、クラスとオブジェクトの概念が重要です。

csharp
コードをコピーする
class Person
{
    public string Name { get; set; }
    public int Age { get; set; }

    public void Introduce()
    {
        Console.WriteLine("Hello, my name is " + Name + " and I am " + Age + " years old.");
    }
}

class Program
{
    static void Main(string[] args)
    {
        Person person = new Person();
        person.Name = "Alice";
        person.Age = 30;
        person.Introduce();
    }
}
これがC#の基礎的な概念と構文の概要です。さらに学びたい場合は、公式ドキュメントやチュートリアルを参照してください。

Unity C# 変数

using System.Collections;
using System.Collections.Generic;
using UnityEngine;

public class Test : MonoBehaviour
{
    int HP = 100, ATK = 100;
    int DEF = 50;
    //
    string name = "";

    //少数
    float f = 0.1f;

    bool isDead = false;
    // Start is called before the first frame update
    void Start()
    {
        HP = 1000;

        f = 1000;

        name = "名前は勇者" + "です";

        isDead = true;

        HP = 200;
        UnityEngine.Debug.Log("HP" + HP);

        HP = 100;

        UnityEngine.Debug.Log("HP" + HP);
    }

    private void FixedUpdate()
    {
        
    }

    // Update is called once per frame
    void Update()
    {
        
    }
}

C# string型とchar型

using System;

class string01
{
    public static void Main()
    {
        char[] chararray = new char[3];
        chararray[0] = 'a';
        chararray[1] = 'b';
        chararray[2] = 'c';

        string str;
        str = new string(chararray);
        Console.WriteLine(str);

        char[] title = { '魔', '王', 'と', '勇', '者'};
        string strTitle = new string(title);
        Console.WriteLine(strTitle);


        string strx = "魔王と勇者の伝説";
        int n = strx.Length;
        Console.WriteLine("「{0}」の文字数は{1}です", strx, n);

        char c = strx[1];
        Console.WriteLine("「{0}」の2番目の文字は「{1}」です", strx, c);


    }
}

C# 配列

using System;

class array01
{
    public static void Main()
    {
        int[] Weapon = new int[3];
        Weapon[0] = 10;
        Weapon[1] = 20;
        Weapon[2] = 30;
        // 宣言と同時に初期化
        int[] myarray2 = new int[3] { 10, 20, 30 };

        // 要素数を省略することも可能
        int[] myarray3 = new int[] { 10, 20, 30 };

        //別な方法
        int[] myarray4;
        myarray4 = new int[] { 10, 20, 30 };
    }
}

C# おにゃんこ大戦争

using System.Collections;
using System.Collections.Generic;
using UnityEngine;

public class CharactorMove : MonoBehaviour
{
public enum TYPE
{
PLAYER,
ENEMY,
}
public TYPE type = TYPE.PLAYER;

float direction;
Vector3 pos;

bool isMove = true;

// Start is called before the first frame update
void Start()
{
    switch(type)
    {
        case TYPE.PLAYER:
            //Player時の処理
            direction = -1;
            break;
        case TYPE.ENEMY:
            //Enemyの時の処理
            direction = 1;
            break;
    }
    pos = new Vector3(direction, 0, 0);
}

// Update is called once per frame
void Update()
{
    if(isMove)
    {
        transform.position += pos * Time.deltaTime;
    }
}
private void OnTriggerEnter2D(Collider2D collision)
{
    //敵にぶつかったら移動とめる
    if(collision.gameObject.tag == "Enemy" && type == TYPE.PLAYER
        || collision.gameObject.tag == "Player" && type == TYPE.ENEMY)
    {
        isMove = false;
    }
    //攻撃をしはじめる
}
private void OnTriggerExit2D(Collider2D collision)
{
    if (collision.gameObject.tag == "Enemy" && type == TYPE.PLAYER
       || collision.gameObject.tag == "Player" && type == TYPE.ENEMY)
    {
        isMove = true;
    }
}

}

C# 配列と構造体

using System;

struct Simple
{
public int Number;
public string Name;

public Simple(int n,string s)
{
    Number = n;
    Name = s;
}

}

class MainClass
{
static void Main()
{
Simple s1 = new Simple();

    Console.WriteLine(s1.Number);
    Console.WriteLine(s1.Name);

    Simple s2 = new Simple(1, "testname");

    Console.WriteLine(s2.Number);
    Console.WriteLine(s2.Name);

    Simple ss;
}

}

C# 配列

using System;

namespace array3
{
internal class Program
{
static void Main(string[] args)
{
string[] weekDays =
{ “sun”, “Mon”, “Tue” , “Wed”, “Thu”, “Fri” , “Sat”};

        for(int i = 0; i < weekDays.Length; i++)
        {
            Console.WriteLine(weekDays[i]);
        }

        foreach(string s in weekDays)
        {
            Console.WriteLine(s);
        }

        int[] a = { 1, 2, 3 };
        int sum = 0;
        for(int i = 0; i < a.Length; i++)
        {
            sum += a[i];
        }
        Console.WriteLine(sum);
    }
}

}