C#

C#で配列(バイト配列)のコピー

C#

System.Array.Copyを使う ネタ元 http://dalmore.blog7.fc2.com/blog-entry-57.html

C#でバイト型配列を文字列に変換する

C#

//バイト型配列"bytesData"に文字列データが入っているものとする string str; //Shift JISとして文字列に変換 str = System.Text.Encoding.GetEncoding(932).GetString(bytesData); //JISとして変換 str = System.Text.Encoding.GetEncoding(50220).GetStri…

C#でstring(文字列)からバイト型配列 byte[] (バイナリ) に変換する

C#

private void button1_Click(object sender, EventArgs e) { string text = "文字列"; //ASCII エンコード byte[] data = System.Text.Encoding.ASCII.GetBytes(text); //データがShift-JISの場合 //byte[] data = System.Text.Encoding.GetEncoding("shift_…

C#で文字列から一行ずつ読み込む

C#

String InputTxt = "..."; System.IO.StringReader rs = new System.IO.StringReader(InputTxt); //StreamReaderを使うと次のようになる //System.IO.MemoryStream ms = new System.IO.MemoryStream // (System.Text.Encoding.UTF8.GetBytes(InputTxt)); //S…

C#でDataContractを使えるようにする

C#

プロジェクト右クリック>追加>参照から アセンブリ>フレームワークより「System.Runtime.Serialization」にチェックでOK ネタ元 https://garafu.blogspot.jp/2013/11/aspnet-web-api-datacontract.html

VB.NET/C#でガベージ・コレクタを明示的に動作させる

C#

VB.net Imports System ... System.GC.Collect()C# using System; ... GC.Collect(); ネタ元 http://www.atmarkit.co.jp/fdotnet/dotnettips/021gc/gc.html

WebSocket周りの情報収集

C#

メモClientWebSocket クラスは.NET4.5以降じゃないと使えない https://msdn.microsoft.com/ja-jp/library/system.net.websockets.clientwebsocket(v=vs.110).aspx http://kimux.net/?cat=3 http://kimux.net/?p=929 http://www.atmarkit.co.jp/ait/articles/…

C#のアクセス修飾子と継承

C#

自分自身のアセンブリ内部のクラスからのみ見える ってのが意味がわからない アクセス修飾子 ・private 同一クラス内のみ ・public どこからでも ・protected 派生クラスから ・internal 自分自身のアセンブリ内部のクラスからのみ見える ->internalはデフォ…

C#でスレッドをAbort()はあかん

C#

スレッドの強制終了は、危険です。 予期しない状態で終了することにより、データ破壊等の障害が発生する可能性があります。 ネタ元 https://ja.stackoverflow.com/questions/5743/%E3%83%9E%E3%83%AB%E3%83%81%E3%82%B9%E3%83%AC%E3%83%83%E3%83%89%E3%81%A7…

C#のロックの処理速度比較

C#

Interlocked > lock > SemaphoreSlim > Semaphore の順に早いようです。ちなみに lock ステートメントのなかでロックされるのは、lock に指定したオブジェクトのみ なので注意。ネタ元 http://qiita.com/tadokoro/items/28b3623a5ec58517d431 http://d.haten…

Visual C# を使用してスレッドを作成する方法

C#

using System.Threading; ... private void ThreadTask() { ...処理 } ... // タスク起動 Thread trd = new Thread(new ThreadStart(this.ThreadTask)); trd.IsBackground = true; trd.Start(); ネタ元 https://support.microsoft.com/ja-jp/help/815804/how…

coincheckのAPIをC#から実行サンプル

C#

たすかるー https://kokenji.net/coincheck-api/

C#の排他 lockとMutex

C#

Mutex アンマネージドコード (Win32ラッパー) である。 マルチスレッドだけでなく、マルチプロセスでも排他出来る C#(.Net Framework)以外の言語でも考え方を流用出来る。 lock マネージドコードである。 マルチプロセスの排他は出来ない。 C#(.Net Framwork…

C#でReDim

C#

Array.Resize 使う //要素数5の配列 int[] intArray = { 0, 1, 2, 3, 4 }; //要素数を10に増やす Array.Resize(ref intArray, 10);ネタ元 http://dobon.net/vb/dotnet/vb2cs/redimpreserve.html

C#でmemset

C#

Array.Clear使う // StaticのArrayクラスを使います。 using System; // num1配列に適当な初期値を入れる。 int[] num1 = { 1, 2, 3, 4, 5, 6, 7, 8, 9 }; // num1配列をゼロクリアする。 Array.Clear( num1, 0, 9 ); // 配列名 インデックス 個数 ネタ元 ht…

C#でREST通信時、BODYにデータを入れる方法

C#

GetRequestStream()を使う HttpWebRequest HttpWReq = (HttpWebRequest)WebRequest.Create("http:\\domain.com\page.asp"); ASCIIEncoding encoding=new ASCIIEncoding(); string stringData = ""; //place body here byte[] data = encoding.GetBytes(strin…

文字列をBase64でエンコード/デコードする

C#

こんなクラスを用意して public class MyBase64str { private Encoding enc; public MyBase64str(string encStr) { enc = Encoding.GetEncoding(encStr); } public string Encode(string str) { return Convert.ToBase64String(enc.GetBytes(str)); } public…

C#で一番簡単にRESTでデータ取得する方法

C#

リクエストURLがこんなんで http://example.com/app/search?type=json&q=JSONで結果が返ってくるとします。 System.Net.HttpWebRequest req = (System.Net.HttpWebRequest)WebRequest.Create("http://example.com/app/search?type=json&q="); req.Headers.Ad…

C#で数値の桁数を求める方法

C#

色んなパターンがあるが、最速はテーブルを使った方法、最も遅いのは文字列化。 こちらはテーブル使った方法 using System; class Sample { static readonly int[] digits = {0, 9, 99, 999, 9999, 99999, 999999, /*9999999, 99999999, ... */}; static voi…

VB.NETとC#でデバッグビルド時のみ通るコードを書く

VB.NET #If DEBUG Then Console.WriteLine("デバッグバージョンです。") #End IfC# #if DEBUG Console.WriteLine("デバッグバージョンです。"); #endifネタ元 http://dobon.net/vb/dotnet/programing/define.html

C#でメモリマップドファイル

C#

string文字列を扱う場合usingを使うと最後にDisposeしてくれる。 初期化 mmf = System.IO.MemoryMappedFiles.MemoryMappedFile.CreateNew("abc", 1024);書き込み using (var stream = mmf.CreateViewStream()) using (System.IO.StreamWriter sw = new Syste…

ファイル追記

C#

System.IO.StreamWriter writer = null; // Shift-JISのテキストファイルを作成します。 // 第2パラメータは既存ファイルが存在する場合の振る舞いを示します。 // false:上書き、true:追記 writer = new System.IO.StreamWriter( @"c:\hello.txt", true,…

文字列からDateTime型に変換

C#

DateTime datetime_parse = DateTime.Parse("2015/4/5 22:42"); ネタ元 http://pk-brothers.com/1688/

C#でperlのtime関数と同じ1970/1/1からの秒数を取得

C#

DateTime dt_start = new DateTime(1970, 1, 1, 0, 0, 0); DateTime dt_now = DateTime.Now; long perl_time = (long)(dt_now - dt_start).TotalSeconds;

.NETライブラリ CsvHelper

C#

NuGetパッケージマネージャーからインストールできるCSVアクセス用ライブラリ。手作りするよりいいかと思って利用してみたけど、なんやと手間取った・・・。 マニュアル(英語) http://joshclose.github.io/CsvHelper/#getting-started とりあえずサンプル読…

.NETでメール受信ライブラリ「OpenPop.NET」

C#

VisualStudioのツール>NuGetパッケージマネージャからインストールできるサンプルやドキュメントは http://hpop.sourceforge.net/ へ。 ただメール受信して本文表示サンプル using OpenPop.Pop3; ...{ Pop3Client client = new Pop3Client(); client.Connect…

.NETでJSONを扱える超軽量ライブラリ「DynamicJson」

C#

NuGetでインストールできるよネタ元 http://yuuxxxx.hatenablog.com/entry/2014/01/13/231500

C#でWebSocktを使う

C#

もともとHTML5の規格の一部だったのが独立したものらしい。 標準のライブラリはないので、なにか別なとこから持ってこないといけない。NuGetを使って「WebSocket4Net」というのを使ってみた。いい感じ ネタ元 http://kimux.lolipop.jp/?cat=3 そもそもWebSoc…

C#でstrtokの代わりはSplit

C#

String Key = "12@34@56@78"; //戻り値には、空の文字列を含む配列要素が格納されます。 String[] split = info.Key.Split(new string[] { "@" }, StringSplitOptions.None); MsgBox(split[0]); // "12" MsgBox(split[1]); // "34" MsgBox(split[2]); // "56…

正規表現である文字で挟まれた、部分文字列を取得する方法

using System.Text.RegularExpressions; してRegexを使う using System; using System.Net; using System.Text.RegularExpressions; class RegexMatch { static void Main() { string anchor = "<a href=\"(?<url>.*?)\".*?>(?<text>.*?)</a>"; // @ITのトップページを取得 WebClient w…