C#備忘録 stringをcharリストへ、Listのインデックス検索、平方根を計算するMath.Sqrt()、char型からint型へ
文字列からcharのリスト作成する
foreachで1文字ずつcharとして取り出し、Add()メソッドを使って追加していく
例えばアルファベットのリストを作りたかったら
string alphabets = "abcdefghijklmnopqrstuvwxyz";
var alphabetList = new List<char>(26);
foreach(char alphabet in alphabets)
{
alphabetList.Add(alphabet);
}
System.LinqのDump()メソッドを使って表示するとこんな感じ
Listのインデックス(添字、最初の要素から0,1,2~)を取得する
Listのインデックスを取得するにはFindIndex()メソッドを使う
ライブラリはSystem.Collections.Generic
条件はラムダ式で書く、例えば
FindIndex(n => n % 2 == 0)
であれば
List内の要素nが偶数の要素について、インデックスを返す
なので、先程のアルファベットリストに対して
for(int i = 0; i < 26; i++)
{
char charAlp = alphabetList[i];
int num = i + 1;
int index = alphabetList.FindIndex(n => n == charAlp);
Console.WriteLine($"{num}番目のアルファベット「{charAlp}」のインデックスは{index}");
}
と記述すると、
アルファベットリストに対応したインデックスを表示する
(アルファベットだとindex = i - 1で分かりづらいので、ランダムにするとこうなる)
平方根を計算するMath.Sqrt()
平方根(√)を計算するにはSystem.MathクラスのSqrt()メソッドを使う
※指定する数値と戻り値は double型
例えば直角三角形の斜辺を求める際は
int width = 3;
int height = 4;
double hypotenuse = Math.Sqrt((width * width) + (height * height));
とすれば求められる
char型からint型への変換
intに対して - '0'するだけ
char charNum = '9';
int num = charNum - '0';
みたいな感じ
コメント
コメントを投稿