secretbase.log

.NET/C#/Pythonなど

C#

NuGet クイックスタート | nupkg をつくる

NuGet の公式ドキュメント からたどれる場所に nupkg を作るための Quickstart がおいてありまして参考になりました。 TL;DR nugetコマンドがある nuget spec hoge.csproj にて .nuspec のひな形がつくれる nuget pack hoge.csproj にてパッケージ(.nupack)…

WPFアプリケーションをEXEひとつにまとめる

はじめに WPFアプリケーションをインストーラーなどで配置する場合、Prismなどライブラリを使うとDLLを複数配置する必要があります。 WiXを用いる場合は、heat でまとめて wxsソースを自動生成して…といったアプローチが常套手段となりますが、EXEにDLLをマ…

例外処理は重いのでEnum.TryParseを用いたほうが良い

定義した Enum のメンバーに例えば入力した文字列が合致した場合に変換するといったケースはよくあります。 そういった場合に使えるメソッドが標準で用意されています。 文字列表現を Enum に変換するメソッド Enum.Parse Parse は戻り値として変換結果を返…

コレクションをソートして取り出す際にインデックスつける

コレクションから要素を取り出していく際に、連番をつけたいことがあります。 例えば下記のような文字列の配列を、ソートしてインデックスとともに要素を取得したい、といった場合のTipsです。 "Banana", "Apple", "Melon" ソートし取り出す際にインデックス…

名前空間の名前

C# の場合、namespace はどのように付けたら良いか、以前調べた。 https://msdn.microsoft.com/ja-jp/library/ms229026(v=vs.100).aspx から抜粋。 一般的な形式 <Company>.(<Product>|<Technology>)[.<Feature>][.<Subnamespace>] 説明 名前空間名には、プリフィックスとして企業名を付け、各企業の名前空間の名前</subnamespace></feature></technology></product></company>…

Windows 10 と Windows 8.1 を判定する

動作しているOSのバージョンを取得して判定する必要があり、 Environment.OSVersion を用いて Major と Minorで判定するようにサンプルコードを動作させてみました。 しかし、Windows 10 でも Windows 8.1 でも Major が 6 のまま。 Windows 10 では majorは…

C# 6.0 言語仕様 [非公式ドラフト版] を見つけた

C#

C# 5.0 (マイクロソフトが公開している最新) C# Language Specification が 5.0 が公開されています。 Download C# Language Specification 5.0 from Official Microsoft Download Center Visual Studio 2015から利用可能になった C# 6.0 言語仕様を探したと…

local time から始めるプログラミング言語入門

プログラミング入門としては、Hello World を標準出力に出力することがよくあります。初めて触る言語で行うサンプルとして、Hello World より少しだけ進んで local time の現在時刻を表示するサンプルコードをいくつかつくってみました。 [2013/01/24 12:34:…

C# , Python , Ruby の yield の違い

毎週木曜日に社内でC#の勉強会をやっていて、そこで yield なる文がなにをやっているかわからないという話題に。そういえば Python で フィボナッチ数列 を取得するときに yield 使っていたっけ。同じかな?って思ったので試してみました。 結論 C#(イテレー…

C# プログラミングガイド 構造編その1

C#

本日の C# 社内勉強会(mokusharp) で発表順番で、C# コードを書いたのでメモしておきます。内容は初学者向けのエントリです。foreach , 型推測をする var 型, 四角配列、配列の配列(ジャグ配列)、paramsによる可変引数といった範囲を発表し、サンプルコー…