C#

C# フォルダを作成する

C#

// フォルダ (ディレクトリ) を作成する System.IO.Directory.CreateDirectory(@"C:\Hoge\Foo\") // 作成先の DirectoryInfo を取得することも可能 System.IO.DirectoryInfo hDirInfo; hDirInfo = System.IO.Directory.CreateDirectory(@"C:\Hoge\Bar\"); ネ…

C# フォルダの存在を確認する

C#

// フォルダ (ディレクトリ) が存在しているかどうか確認する if (System.IO.Directory.Exists(@"C:\Hoge\")) { MessageBox.Show("ディレクトリは存在します"); } else { MessageBox.Show("ディレクトリは存在しません"); } ネタ元 http://jeanne.wankuma.co…

CsvHelper で C# CSVの読み込み

C#

CsvHelperというモジュールがあるらしい。使ってみようかな ネタ元 https://webbibouroku.com/Blog/Article/csvhelper-read

C# 正規表現でファイル名の中から数字4桁取得

C#

aaa_2017_8411.csvというファイル名で、2つ目の数字4文字が欲しいサンプル System.Text.RegularExpressions.MatchCollection mc = System.Text.RegularExpressions.Regex.Matches(item, @"\d{4}"); string code = mc[1].Value; ネタ元 https://dobon.net/vb/…

あるフォルダ以下にあるファイルをすべて取得する

C#

using System.IO; ... string[] files = Directory.GetFiles( search_path, "*.csv", SearchOption.AllDirectories); ネタ元 https://dobon.net/vb/dotnet/file/getfiles.html でもDirectory.EnumerateFilesのほうが高速でいいらしいよ。 ネタ元 http://dev.…

C#でモダンにWebスクレイピングするならAngleSharp

C#

らしい。 つかってみようかな。 ネタ元 https://qiita.com/matarillo/items/a92e7efbfd2fdec62595

C# 文字列から数値だけを抜き出す

C#

正規表現で数字だけ抜き出す。 using System.Text.RegularExpressions; string str = Regex.Replace (gameObject.name, @"[^0-9]", ""); Debug.Log (str); ネタ元 http://robamemo.hatenablog.com/entry/2018/03/03/194425

C#リストを逆順に処理する

C#

foreach (MyItem item in items.Reverse()) { // itemに対する処理ここで行う } ネタ元 https://blog.yuizi.com/2010/04/c_9105.html

C#のDictionaryをソートする

C#

Dictionaryの代わりにSortedDictionaryを利用すると、自動でキーを元にソートしてくれます。例 // 宣言:SortedDictionaryとしてインスタンスを作成 var itemTable = new SortedDictionary<int, Item>(); ネタ元 https://takachan.hatenablog.com/entry/2018/04/02/2324</int,>…

JSON.NET (NEWTONSOFT.JSON) の基礎

C#

オブジェクト はJObject 配列はJArray 文字列や数値はJValue配列のループはこんな感じ JArray jarr = (JArray)jres["results"]; foreach (JObject jobj in jarr) { JValue nameValue = (JValue)jobj["name"]; string name = (string)nameValue; JValue price…

C# 1000mって"m"つければdecimal型

C#

データ型 サフィックス 数値の有効範囲 int型(System.Int32型) なし 符号付き32bit整数値。-2147483648 ~ 2147483647 uint型(System.UInt32型) u(もしくは、U) 符号なし32bit整数値。0 ~ 4294967295 long型(System.Int64型) L(もしくは、l) 符号…

.netのHTTPS通信で System.Net.WebException: 接続が切断されました: 送信時に、予期しないエラーが発生しました。 とエラーがでたら TLS1.2にすればOK

WebClientでアクセスしたら例外がでた。 TLS1.0、1.1の廃止が原因らしい。TLS1.2にするには ServicePointManager.SecurityProtocol = SecurityProtocolType.Tls12; 入れるだけで一応OK。 ServicePointManager.SecurityProtocol = SecurityProtocolType.Tls12…

C#でコンソールアプリにて キー入力で一時停止

C#

// キー入力を待つ(止める目的なら、どっちでも良い) Console.ReadLine(); Console.ReadKey(); ネタ元 http://www.remember-the-time.xyz/2012/06/c.html

C#&アンマネージDLL 普通の配列の引渡し

GCHandle構造体を使うといいらしい。 [DllImport("hogehoge.dll")] private static extern int dll_TestFunc(int frameno, IntPtr ary, int aryCount); public int TestFunc(int frameno, ref float[] ary) { int len = ary.Length; GCHandle gcH = GCHandle…

C#で作ったDLL内のクラスがC++からどうしても認識できない場合

C#

他のプロジェクトからクラスコピーして持ってくるやりかただとどうにも認識できなかった。新規でクラス作り直してソースコピペで直った。あとコンストラクタとデストラクタあるクラスも認識できないので注意

C# でラムダ式 ThreadクラスとThreadStartデリゲート

C#

class Program { static void Main(string[] args) { string message = "スレッド内で表示する文字列:"; // 別スレッドで処理するラムダ式 ThreadStart action = () => { for (int i = 0; i < 5; i++) { // 1秒スリープ Thread.Sleep(1000); // Mainメソッド…

C# で文字列高速に扱うにはStringBuilderクラスを使おう

C#

Stringだとメモリアクセスとか多い ネタ元 https://dobon.net/vb/dotnet/string/stringbuilder.html

C# で UnixTime

C#

var dt = DateTime.UtcNow; //var dto = new DateTimeOffset(dt, new TimeSpan(+09, 00, 00)); var dto = new DateTimeOffset(dt); long expires = dto.ToUnixTimeSeconds(); ネタ元 https://webbibouroku.com/Blog/Article/unixtime-cs#outline__1 https://…

C# JSON.Netを使ってJSONをデシリアライズ

C#

var jobj = JsonConvert.DeserializeObject<Newtonsoft.Json.Linq.JContainer>(arg); listBoxKen.Items.AddRange(jobj["response"]["prefecture"].ToArray());こんな感じ。こんなふうにforeachで分離できたり foreach (var item2 in jobj) { } 項目があるかどうかはこうチェックできる var ite</newtonsoft.json.linq.jcontainer>…

C# Dictionary に指定したキーや値が存在するかどうか確認する

C#

using System; using System.Collections.Generic; public static class Program { private static void Main() { var table = new Dictionary<int, string> { { 1 , "フシギダネ" }, { 2 , "フシギソウ" }, { 3 , "フシギバナ" }, { 4 , "ヒトカゲ" }, { 5 , "リザード" </int,>…

C#でBitMEX仮想通貨自動取引BOT

C#

ここを雛形に作ってくといい感じhttps://dora345.com/2018/06/22/bitmex-c-bot-develop/

c#でユニークid 生成

c#

世界で重複することがない、ユニークな128bit(16byte)のランダムな数値であるGUID値を生成する。 using System; // Guid,Console class GuidSample { public static void Main(string[] args) { String id = Guid.NewGuid().ToString("N"); Console.WriteL…

BitMEX API で引数boolの場合 ToLower()で小文字にしないと無視されるよ

C#

たとえば https://testnet.bitmex.com/api/v1/trade/bucketed?symbol=XBTUSD&binSize=1h&partial=True&count=1&start=0&reverse=Falseだと partial / reverse が無視されてデフォルトになっちゃう。 https://testnet.bitmex.com/api/v1/trade/bucketed?symbo…

C# による JSON 相互変換 (Json.NET 利用)

C#

List<>とかの配列をjsonに変換 class Book { public int Id { get; set; } public string Name { get; set; } public string Asin { get; set; } } ... using using System.Collections.Generic; using using Newtonsoft.Json; .... // 日本語ちゃんと出力さ…

DomainModelからViewModelに詰め替える時には退屈だしエラー積み込むかもしれんからバカ正直にコード書かずにAutoMapperとか使おうぜ(超訳)

C#

AutoMapperとは、その名の通り、オブジェクト同士を自動でマッピングしてくれるライブラリnugetでインストールして使おう PM> Install-Package AutoMapper ネタ元 http://kiyokura.hateblo.jp/entry/2014/09/17/093000

Prism.Mvvmのインストール

C#

NuGetパッケージの管理からは探せなかったのでパッケージ マネージャー コンソールから PM > Install-Package Prism.Mvvm -Version 1.1.1 ネタ元 https://www.nuget.org/packages/Prism.Mvvm/1.1.1

C# で Thread.Sleepじゃなくて Task.Delay 使ったほうがよさげ

C#

Thread.Sleep Method は、スレッドを止めるメソッドだから、スレッドがブロックされます。だから、この非同期処理が、メインと同じスレッドを使っているとしたら、メイン側のスレッドも停止します。Task.Delay Method (TimeSpan, CancellationToken) こちら…

NuGetでインストールできるBitFlyerライブラリ BitFlyer.Apis

C#

インストール PM> Install-Package BitFlyer.Apisなにかとpythonでbot作る人多いのでC#情報少ないですねー ネタ元 https://github.com/kiyoaki/bitflyer-api-dotnet-client

Html Agility Packを使ってWebページをスクレイピングするには?[C#、VB]

スクレイピングには便利なライブラリらしい。 ネタ元 http://www.atmarkit.co.jp/ait/articles/1501/27/news140.html

LINQ

C#

あまり難しく考えず、「LINQ は foreach のパワーアップ版」と覚えよう。 ネタ元 https://qiita.com/nskydiving/items/c9c47c1e48ea365f8995