Nanashi-softプログラマ専用Unityでゲーム開発


◇Unityでゲーム開発 -C#の変数の扱い系色々-

ブログに記載した時にまとめていなかったので,TIPS集みたいなページになっていますが(^^;
そのうち本体サイト上では再編集します(たぶん)

○enumで定義した数を知りたい
using System;    //Enumに必要

//enum定義
private enum TEISU : int{
    NO_A=0,
    NO_B
}

//定義した数を取得
int teigisu=Enum.GetNames(typeof(TEISU)).Length;

Debug.Log("enum定義数:"+teigisu);

○string定数を定義したい
readonlyを使う
private readonly string[] TEISU={"a","b","c"};

○配列の個数
.Lengthに入っている

string[] TEISU={"a","b","c"};
Debug.Log("定義数:"+TEISU.Length);

○string文字列をstring文字列で分割したい
Splitオプションに StringSplitOptions.Noneを指定する

string mojiretu="文字列aaa文字列";
string[] kekka=mojiretu.Split("aaa", StringSplitOptions.None);

○string文字列をforeachで全ループする
string[] TEISU={"a","b","c"};
foreach(string s in TEISU){
    //sに1つずつ文字列が入ってくる
    if(s == "『探したい文字列』"){
        break;    //ループを抜ける
    }
}

○string文字列から,指定番目の文字列以降を取り出したい
Substringの第2引数を記述しなければ,最後までになります

string var="ab日本語でOK";
string ret;
ret=var.Substring(3);
Debug.Log(ret);
※先頭の文字を0とした値で指定
※UTF-8判定なので,2バイト文字も1カウントです

結果)
本語でOK

○string文字列から,後ろから指定文字を取り出したい
.Lengthで全体の文字数を調べて,取り出したい分だけ引く

string var="ab日本語でOK";
string ret;
ret=var.Substring(charaname.Length - 3);
Debug.Log(ret);
※先頭の文字を0とした値で指定
※UTF-8判定なので,2バイト文字も1カウントです

結果)
でOK

○string配列を連結したい
例)カンマ区切りで連結する
string[] TEISU={"a","b","c"};
string var;
var=string.Join(",", TEISU);

○小数点以下を四捨五入して数値化
Unityでは Mathクラスが使えない。その代わりに Mathfクラスがある
float a;
int b;

a=3.14;
b=Mathf.RoundToInt(a);    //四捨五入してint型で返す

○大文字・小文字変換
・小文字に変換
string a="ABCde";
string b;
b=a.ToLower();

Debug.Log(b);

abcde

・大文字に変換
string a="ABCde";
string b;
b=a.ToUpper();

Debug.Log(b);

ABCDE



TOPプログラマ専用Unityでゲーム開発