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#の基礎的な概念と構文の概要です。さらに学びたい場合は、公式ドキュメントやチュートリアルを参照してください。
タグ: 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);
}
}
}
C# 配列
using System;
namespace array1
{
internal class Program
{
static void Main(string[] args)
{
int[] array = new int[10];
//代入
array[0] = 1;
array[1] = 2;
Console.WriteLine(array[0] + array[1]);
}
}
}
C# オーバーフロー
using System;
namespace overflow
{
internal class Program
{
static void Main(string[] args)
{
try
{
short a = short.MaxValue;
Console.WriteLine(a);
a++;
Console.WriteLine(a);
}
catch(Exception e)
{
Console.WriteLine(e.Message);
}
}
}
}
C# throw文
using System;
namespace exception8
{
internal class Program
{
static void Main(string[] args)
{
try
{
try
{
int[] a = new int[3];
a[0] = 1;
a[5] = 2;
}
catch (Exception)
{
Console.WriteLine("最初の捕捉");
throw;
}
}
catch (Exception e)
{
Console.WriteLine("外側の捕捉");
Console.WriteLine(e.Message);
}
}
}
}