new した配列に向けてToArray()からのCopyTo()
List<object> sellist = new List<object>(); .... double[] calcdata = new double[sellist.Count()]; sellist.ToArray().CopyTo(calcdata, 0);
new した配列に向けてToArray()からのCopyTo()
List<object> sellist = new List<object>(); .... double[] calcdata = new double[sellist.Count()]; sellist.ToArray().CopyTo(calcdata, 0);
浮動小数点は誤差がでちゃう。
できるなら乗算して整数にしてあつかうようにしたほうがいいけど
小数点第2までしか扱わない、とか仕様決めれば
atof("2.01")したら+0.001などして誤差修正するといい場合もあるかもね
なんにしろ、実装次第。
Parse, Convertともに、数値に変換出来る文字列は “12345” や “123.45” などの正しい数値を表す文字列のみ。
文字列の前後、途中に数値以外の文字、スペースなどが入っていると例外が出る。
Parse, Convertともに、文字列の先頭に沢山の0(ゼロ)が付いていても数値変換出来る。
Parse, Convertともに、”0xFFFF” などの形式も例外になる。16進数とは認識出来ない。
Parse, Convertともに、Doubleへの変換は浮動小数点形式でも可能。
Parse, Convertともに、空文字列 “” は例外が出る。
Parseは null も例外になる。
Convertは null は 0(ゼロ)になる。
//第1引数:ファイルパス //第2引数:追記するテキスト File.WriteAllText(@"C:\Myfolder\test.txt", "Good morning!");
//第1引数:ファイルパス string readText = File.ReadAllText(@"C:\Myfolder\test.txt");
Json.NETで。
シリアライズ
string ret = JsonConvert.SerializeObject(hoge);
デシリアライズ
var settings = new JsonSerializerSettings { NullValueHandling = NullValueHandling.Ignore, // nullの場合はクラスのプロパティを無視する MissingMemberHandling = MissingMemberHandling.Ignore // プロパティがデシリアラズする側に存在しない場合は無視 }; Hoge hoge = JsonConvert.DeserializeObject<Hoge>(json, settings);
Core 3.0以降なら System.Text.Json がいいかも。Microsoft公式だし。
insert into t1 (f1, f2, f3) values ('a1', 'b1', 'c1'), ('a2', 'b2', 'c2'), ('a3', 'b3', 'c3')
SQLiteは
暗黙のトランザクション処理とオートコミットといった機能があるのでお手軽な反面、
アクセスが頻繁な処理を作ると、思った以上の
トランザクションの開始やコミットが発生し、ジャーナルファイルの生成と削除が 繰り返されるため、トランザクションでくくって一括して処理する場合に比べて 処理が大幅に遅くなります。
datetime('2019-05-04', '+2 days', '-4 hours')
てな感じ
INSERT INTO my_table (name, modified_date) VALUES 'hogehoge', datetime('now', 'localtime');
C#でStopwatchクラスを使用
// using System; // Stopwatchクラス生成 var sw = new System.Diagnostics.Stopwatch(); //----------------- // 計測開始 sw.Start(); // ★処理A // 計測停止 sw.Stop(); // 結果表示 Console.WriteLine("■処理Aにかかった時間"); TimeSpan ts = sw.Elapsed; Console.WriteLine($" {ts}"); Console.WriteLine($" {ts.Hours}時間 {ts.Minutes}分 {ts.Seconds}秒 {ts.Milliseconds}ミリ秒"); Console.WriteLine($" {sw.ElapsedMilliseconds}ミリ秒");