文字列結合
// 基本的には,+演算子を用いた文字列結合でOK
string concated = "string" + "concatination";
ただし,パフォーマンスを重視する場合はStringBuilder()の方が良いらしい.
StringBuilder sb = new Stringbuilder();
sb.Append("DateTime, Input, \n");
sb.Append($"{DateTime.Now.ToString("yyyy年MM月dd日HH時mm分ss秒");}, {Input},\n");
string resultStr = sb.ToString();
List<T>の中身をWriteLineを1行で書く方法
List<string> stringList = new List<string>() { "Redbull", "Mercedes", "Ferrari", "McLaren", "Alpine", "AlphaTauri"}
Console.WriteLine(String.Join(",", stringList));
// Redbull,Mercedes,Ferrari,McLaren,Alpine,AlphaTauri
今までforeachなどを使って中身を出力していたけど,1行で簡単にかけるのもっと早く知りたかった…
現在日時取得と文字列へ
DateTime now = DateTime.Now;
Console.WriteLine(now.ToStirng("yyyyMMddHHmmss"));
ディレクトリの作成
あったら作らない.なかったら作る.
private void CreateDirectory(string path)
{
if (System.IO.Directory.Exists(path))
{
Console.WriteLine("That path exists already.");
return;
}
System.IO.Directory.CreateDirectory(path);
}
Formのスクショ
多分動くはず!(Macで動作確認できねえ!)
private void screenShot()
{
Rectangle rec = this.Bounds;
Bitmap bmp = new Bitmap(rec.Width, rec.Height, PixelFormat.Format32bppArgb);
Graphics g = Graphics.FromImage(bmp);
g.CopyFromScreen(rec.X, rec.Y, 0, 0, rec.Size, CopyPixelOperation.SourceCopy);
DateTime now = DateTime.Now;
CreateDirectory(".\\directory");
string nowString = now.ToString("yyyyMMddHHmmss");
bmp.Save($".\\directory\\{nowString}.png");
bmp.Dispose();
}