C#

C#で自分が管理者権限で動いているか調べる

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…

C#で排他オブジェクトのロック取得を待機しない方法

C#

ロックを取得できなかった場合に待機せず、即タイムアウトにしたい場合の方法 try { Monitor.TryEnter(lockObject, 0, ref acquiredLock); if (acquiredLock) { // ロック取得に成功したときの処理 } else { // ロック取得に失敗したときの処理 } } finally …

最速C# 7.x

C#

ためになる https://www.slideshare.net/yamamotoreki/c-7x

C#でstringの中の最後尾の文字列を調べる

C#

EndsWith()を使う if(!str.EndsWith("\r\n")) str+="\r\n"; ネタ元 http://www.woodensoldier.info/computer/csharptips/38.htm

C#で文字列連結するならStringBuilderが高速

C#

サイズわかってるならStringBuilderのCapacityを指定しておくと高速。 ネタ元 https://qiita.com/TD12734/items/fad83dddb8f0452b7d38 https://dobon.net/vb/dotnet/string/stringbuilder.html

C#でTA-Libメモ

C#

使い方メモlookback という指定があるが、 これはデータ配列でまとめて渡して計算させると、 lookback 単位で複数一気に計算してくれるものらしい。連続した指標を作るときに何回も同じ関数呼ばなくてもいいのですね。便利。 https://qiita.com/ryoshi81/ite…

C#でListから配列に変換(配列を異なる型の配列へキャスト)

C#

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>…

C#のint.ParseとConvert.ToInt32の違い

C#

Parse, Convertともに、数値に変換出来る文字列は “12345” や “123.45” などの正しい数値を表す文字列のみ。 文字列の前後、途中に数値以外の文字、スペースなどが入っていると例外が出る。 Parse, Convertともに、文字列の先頭に沢山の0(ゼロ)が付いてい…

C#一行でファイル出力/ファイル読み込み

C#

//第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…

C#でJSONのシリアライズ/デシリアライズ

C#

Json.NETで。シリアライズ string ret = JsonConvert.SerializeObject(hoge);デシリアライズ var settings = new JsonSerializerSettings { NullValueHandling = NullValueHandling.Ignore, // nullの場合はクラスのプロパティを無視する MissingMemberHandl…

C#でデバッグ用時間計測

C#

C#でStopwatchクラスを使用 // using System; // Stopwatchクラス生成 var sw = new System.Diagnostics.Stopwatch(); //----------------- // 計測開始 sw.Start(); // ★処理A // 計測停止 sw.Stop(); // 結果表示 Console.WriteLine("■処理Aにかかった時間…

C#のSQLiteでオンメモリで実行する

":memory:"で指定して ";mode=memory;cache=shared"; を付けて使う public abstract class SqliteBase { public string ConnectionString; protected SqliteBase() { SQLiteConnectionStringBuilder builder = new SQLiteConnectionStringBuilder { DataSour…

C#でyyyymmdd 形式の文字列を DateTime 型に変換する

C#

yyyymmdd 形式の文字列を DateTime に変換 var dt = System.DateTime.ParseExact("20171231", "yyyyMMdd", null);ほかにもいろんなパターンで指定可能 ネタ元 https://bayashita.com/p/entry/show/238

C#で日本時間取得

C#

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…

C#で難読化(無料)

C#

ConfuserExが良いDLLでもいける。 使い方 https://rabbitfoot.xyz/code-obfuscation-confuserex/ ネタ元 https://rabbitfoot.xyz/code-obfuscation/

c#で特定のexeが生きてるか調べる

c#

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…

C#でRTDServerを実装する方法

C#

参考 https://seraphy.hatenablog.com/entry/2018/02/09/220000 参考の元ネタ https://weblogs.asp.net/kennykerr/Rtd7 英語だがこの人の記事読めばRTDServer周りはほぼ網羅できるらしい。 追記 以下本家の記事通り「Microsoft excel 1?.0 オブジェクトライ…

C#でjsonをクラスに展開(DeserializeObject)

C#

string jsonteststring = "[{{\"code\":\"8411\",\"num\":10}}]"; var settings = new JsonSerializerSettings { NullValueHandling = NullValueHandling.Ignore, MissingMemberHandling = MissingMemberHandling.Ignore }; var oTest = JsonConvert.Deseria…

C#でTickカウント取得

C#

Environment.TickCount ネタ元 https://docs.microsoft.com/ja-jp/dotnet/api/system.environment.tickcount?view=netframework-4.8

C#単語の先頭文字を大文字に変換する

C#

stinrg text = "open"; text = System.Globalization.CultureInfo.CurrentCulture.TextInfo.ToTitleCase(text); ネタ元 http://baba-s.hatenablog.com/entry/2014/05/29/213246

C#で文字列の数値変換でint.Parse()使うと数値意外の文字列で例外飛んじゃうの嫌ならint.TryParse()

C#

その場しのぎで使ってその先の処理で死なないように、気を使ってね。 ネタ元 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%…

C#でPC起動してからの経過時間を取得

C#

System.Environment.TickCount ネタ元 https://dobon.net/vb/dotnet/system/tickcount.html

C#にてIEで特定のURLになっているウインドウを根こそぎ閉じる

C#

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/

C#でタイマにより一定時間間隔で処理を行う

C#

// 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…

C#のProgressBarバーのスタイルを変更する

C#

StyleプロパティにProgressBarStyle列挙体の値を指定します。 Blocks 分割されたブロックの数を増加させていくことで進行状況を示す Continuous バーのサイズを滑らかに連続的に増加させていくことで進行状況を示す Marquee ProgressBar の上を絶え間なくブ…

C#でリソースの追加方法

C#

リソースデザイナを表示するには、メニューの「プロジェクト」-「プロパティ」でプロジェクトデザイナを表示し、「リソース」タブを選択します ネタ元 https://dobon.net/vb/dotnet/programing/vsresource.html#section2

C#のフォームで×ボタンがクリックされても終了させない

C#

リソースエディタでFormClosingイベントを追加する private void Proto_FormClosing(object sender, FormClosingEventArgs e) { e.Cancel = true; } ネタ元 https://www.tetsuyanbo.net/tetsuyanblog/23478

C#のフォームでアイコン、ボタン類を非表示

C#

ControlBox = false; ネタ元 https://symfoware.blog.fc2.com/blog-entry-2203.html

SHDocVw.InternetExplorer COMを用いてIE (InternetExplorer)を自動制御で html取得

C#

参照設定で、タイプライブラリ 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を操作

C#

「C#でIEを自動制御しよう (目次)」を参考にしよう 参考サイト http://blog.clockahead.com/search/label/IE