C#
private bool IsAdministrator() { var identity = System.Security.Principal.WindowsIdentity.GetCurrent(); var principal = new System.Security.Principal.WindowsPrincipal(identity); return principal.IsInRole(System.Security.Principal.WindowsBu…
ロックを取得できなかった場合に待機せず、即タイムアウトにしたい場合の方法 try { Monitor.TryEnter(lockObject, 0, ref acquiredLock); if (acquiredLock) { // ロック取得に成功したときの処理 } else { // ロック取得に失敗したときの処理 } } finally …
ためになる https://www.slideshare.net/yamamotoreki/c-7x
EndsWith()を使う if(!str.EndsWith("\r\n")) str+="\r\n"; ネタ元 http://www.woodensoldier.info/computer/csharptips/38.htm
サイズわかってるならStringBuilderのCapacityを指定しておくと高速。 ネタ元 https://qiita.com/TD12734/items/fad83dddb8f0452b7d38 https://dobon.net/vb/dotnet/string/stringbuilder.html
使い方メモlookback という指定があるが、 これはデータ配列でまとめて渡して計算させると、 lookback 単位で複数一気に計算してくれるものらしい。連続した指標を作るときに何回も同じ関数呼ばなくてもいいのですね。便利。 https://qiita.com/ryoshi81/ite…
new した配列に向けてToArray()からのCopyTo() List<object> sellist = new List<object>(); .... double[] calcdata = new double[sellist.Count()]; sellist.ToArray().CopyTo(calcdata, 0); ネタ元 https://www.ipentec.com/document/csharp-convert-generics-list-to-arr</object></object>…
Parse, Convertともに、数値に変換出来る文字列は “12345” や “123.45” などの正しい数値を表す文字列のみ。 文字列の前後、途中に数値以外の文字、スペースなどが入っていると例外が出る。 Parse, Convertともに、文字列の先頭に沢山の0(ゼロ)が付いてい…
//第1引数:ファイルパス //第2引数:追記するテキスト File.WriteAllText(@"C:\Myfolder\test.txt", "Good morning!");//第1引数:ファイルパス string readText = File.ReadAllText(@"C:\Myfolder\test.txt"); ネタ元 https://qiita.com/t_sato310/items/6…
Json.NETで。シリアライズ string ret = JsonConvert.SerializeObject(hoge);デシリアライズ var settings = new JsonSerializerSettings { NullValueHandling = NullValueHandling.Ignore, // nullの場合はクラスのプロパティを無視する MissingMemberHandl…
C#でStopwatchクラスを使用 // using System; // Stopwatchクラス生成 var sw = new System.Diagnostics.Stopwatch(); //----------------- // 計測開始 sw.Start(); // ★処理A // 計測停止 sw.Stop(); // 結果表示 Console.WriteLine("■処理Aにかかった時間…
":memory:"で指定して ";mode=memory;cache=shared"; を付けて使う public abstract class SqliteBase { public string ConnectionString; protected SqliteBase() { SQLiteConnectionStringBuilder builder = new SQLiteConnectionStringBuilder { DataSour…
yyyymmdd 形式の文字列を DateTime に変換 var dt = System.DateTime.ParseExact("20171231", "yyyyMMdd", null);ほかにもいろんなパターンで指定可能 ネタ元 https://bayashita.com/p/entry/show/238
DateTime utc_input = System.DateTime.UtcNow; TimeZoneInfo jstZoneInfo = System.TimeZoneInfo.FindSystemTimeZoneById("Tokyo Standard Time"); DateTime jst = System.TimeZoneInfo.ConvertTimeFromUtc(utc_input, jstZoneInfo); ネタ元 https://www.ip…
ConfuserExが良いDLLでもいける。 使い方 https://rabbitfoot.xyz/code-obfuscation-confuserex/ ネタ元 https://rabbitfoot.xyz/code-obfuscation/
excel.exeいるか調べるサンプル Process[] processList = Process.GetProcesses(); foreach (Process p in processList) { try { string fileName = System.IO.Path.GetFileName(p.MainModule.FileName); if (fileName.ToLower() == "excel.exe") { bExcelQu…
参考 https://seraphy.hatenablog.com/entry/2018/02/09/220000 参考の元ネタ https://weblogs.asp.net/kennykerr/Rtd7 英語だがこの人の記事読めばRTDServer周りはほぼ網羅できるらしい。 追記 以下本家の記事通り「Microsoft excel 1?.0 オブジェクトライ…
string jsonteststring = "[{{\"code\":\"8411\",\"num\":10}}]"; var settings = new JsonSerializerSettings { NullValueHandling = NullValueHandling.Ignore, MissingMemberHandling = MissingMemberHandling.Ignore }; var oTest = JsonConvert.Deseria…
Environment.TickCount ネタ元 https://docs.microsoft.com/ja-jp/dotnet/api/system.environment.tickcount?view=netframework-4.8
stinrg text = "open"; text = System.Globalization.CultureInfo.CurrentCulture.TextInfo.ToTitleCase(text); ネタ元 http://baba-s.hatenablog.com/entry/2014/05/29/213246
その場しのぎで使ってその先の処理で死なないように、気を使ってね。 ネタ元 https://www.k-karakuri.com/entry/2018/04/13/TryParse%E3%82%92%E4%BE%8B%E5%A4%96%E7%99%BA%E7%94%9F%E3%81%AE%E9%98%B2%E6%AD%A2%E3%81%AB%E4%BD%BF%E3%81%86%E3%81%AE%E3%81%…
System.Environment.TickCount ネタ元 https://dobon.net/vb/dotnet/system/tickcount.html
SHDocVw.ShellWindows shell = new SHDocVw.ShellWindows(); foreach (SHDocVw.WebBrowser IE2 in shell) { if (-1 != IE2.LocationURL.IndexOf("127.0.0.1") ){ IE2.Quit(); } } ネタ元 https://office-casual.biz/csharp-internet-tab-get/
// formstimer.cs using System; using System.Windows.Forms; public class FormsTimerTest { static void Main() { FormsTimerTest ftt = new FormsTimerTest(); ftt.Run(); } public void Run() { Timer timer = new Timer(); timer.Tick += new EventHan…
StyleプロパティにProgressBarStyle列挙体の値を指定します。 Blocks 分割されたブロックの数を増加させていくことで進行状況を示す Continuous バーのサイズを滑らかに連続的に増加させていくことで進行状況を示す Marquee ProgressBar の上を絶え間なくブ…
リソースデザイナを表示するには、メニューの「プロジェクト」-「プロパティ」でプロジェクトデザイナを表示し、「リソース」タブを選択します ネタ元 https://dobon.net/vb/dotnet/programing/vsresource.html#section2
リソースエディタでFormClosingイベントを追加する private void Proto_FormClosing(object sender, FormClosingEventArgs e) { e.Cancel = true; } ネタ元 https://www.tetsuyanbo.net/tetsuyanblog/23478
ControlBox = false; ネタ元 https://symfoware.blog.fc2.com/blog-entry-2203.html
参照設定で、タイプライブラリ Microsoft Internet Controls (SHDocVw.DLL) Microsoft HTML Object Library (MSHTML.DLL) を追加しておく。 var IE = new SHDocVw.InternetExplorer(); IE.Visible = true; IE.Navigate(get_uri); while (IE.Busy == true || …
「C#でIEを自動制御しよう (目次)」を参考にしよう 参考サイト http://blog.clockahead.com/search/label/IE