【C#】constとstatic readonlyの違いと使い分け

C#

C#でプログラム書いてるとコードを書いているときは、constとreadonlyの区別ってあんまりありませんよね。ついつい定数は、constと書いてしまいます。 public static class HogeDefine { public const uint MaxLength = 10; public static readonly uint Dat…

現在のコードページで表示できない文字を含んでいます。

VisualStudio2013以降で以下警告メッセージが出た時の対処法です。 コードページの警告 hogehoge.cpp : warning C4819: ファイルは、現在のコード ページ (xxx) で表示できない文字を含んでいます。データの損失を防ぐために、ファイルを Unicode 形式で保存…

Windows10のフォントが汚すぎる...

これは、、、、汚すぎない?フォントが。強制的にWin10へ移行させて移行した先が地獄とかWinのユーザー調教厳しすぎます。何YuGothicって。。。 細すぎてかすれてるしぼやけてんじゃん。ちゃんと描画できないのに何で採用した? 目が悪くなったのかと思って…

VS2015 Communityのダウンロード超遅い

VisualStudio2015 Communityのダウンロードは時間にもよると思いますが死ぬほど遅いです。速度が100~200Kbyte/sec程度しか出ない感じです(現在進行形)全体で10G以上あるみたいなので始めるときは覚悟したほうがよさそうですね・・・ トホホ・・・どうやら…

Windows10のアクティブウインドウに色をつける

マイクロソフトのごり押しに負けてWindows10にしたものの、今までのOS使用歴がVista → 7 → 8 → 8.1 → 10 で強制的にOSを変更させられて地雷ばっかり踏まされてばっかりなので少々辟易しています。自宅のPCが不可抗力でWindows10に強制変更させられたのですが…

VisualStudioのスペースとタブの表示・非表示

たまにスペースの表示がドットに代わるときの設定方法です。VisualStudio を操作中に何かのキーを押してしまったらしくスペースが「.」(ドット)でタブが「→」矢印で表示されるようになってしまいました。元に戻し方がわからない、、、、 と思い、メニューを…

VisualStudio 2013で.NET Framework 4.6.1を利用可能にする

ちょっと前に、VisualStudio2013へ.NET4.6の導入の仕方を書いたけど.NET4.6.1も同じような手順で導入できます。 背景的なもの 4.6の登場が2015年7月で4.6.1の登場が2015年12月となっています。ものすごい早いペースで更新されているのですが開発中にこういう…

カクヨムのフォントはWindowsユーザーにはお洒落すぎる

はてぶでホットエントリーを眺めていたら「カクヨム」という単語を見つけました。「なろう」と並んでるので何かと思っっていました。何でも、カドカワとはてなが新しく始めた小説投サイトらしいです。開設して間もないみたいですが、何故かヘイトを集めてい…

【C#】スレッドIDを取得する

C#

マルチスレッド処理中にログを出力したい時にスレッド番号があったらいいなと思ったので調べてみました。捕捉: GUIアプリのasync/await/Invokeが絡む画面操作関係でこの出力すると全部同じ値になってしまいます。UIがシングルスレッドアパートメントなので当…

コードのコメントはシンタックスじゃなくセマンティクスを書こう

コードの構造とか文法を一生懸命説明するシンタックスコメント職人が世の中に結構いるみたいです。例えばこんなの // ログを出力する Log.WriteLine("ERROR", "Failed to hogehoge function."); Log.WriteLine("ERROR", ex.ToString()); コード見ればわかる…

C#のvarとtry~catchは糞ではない

C#

C#の機能に、try ~ catch 構文というものがあるのですが、極めて否定的な意見を検索上位に見かけたため、反論を試みたいと思います。対象記事はこちらです。C#のvarとtry〜catchが糞すぎる - やねうらお−ノーゲーム・ノーライフ 問題の確認 上記サイト中で…

WCFで通信エラーになる場合

C#

c#とWCFでプロセス間通信をするためにNetTcpBindingを使って通信を行っていたら以下のメッセージが出力され通信エラーとなりました。 System.ServiceModel.CommunicationException: ソケット接続が中止されました。これは、メッセージ処理時のエラー、リモー…