タグ

C#に関するHamukoroのブックマーク (24)

  • C# で、同じソースコードから常に同じバイナリを生成する

    昔、gist にだけ置いてて、そういえばブログに書いてなかったものを思い出したので書いておくことに。 (一応、部分的には言及したことがあるんですけど、ちゃんとした話はしたことがなかったはず。) 決定論的ビルド 3年くらい前まで、C# コードをコンパイルすると、ソースコードを一切書き換えていなくても、生成結果の exe/dll や pdb のバイナリが変化していました(決定性(deteminism)がない)。 原因は以下の2つです。 バイナリ中に埋め込まれる GUID にタイムスタンプと乱数から生成される値を使っていた デバッグ用のファイル情報がフルパスで埋め込まれていた GUID の方はタイムスタンプと乱数なので当に致命的で、ローカルで再コンパイルしても毎回バイナリが変化していました。 フルパスの方は基的には pdb (デバッグ用シンボル情報)だけの問題なんですが、 exe/dll で

    C# で、同じソースコードから常に同じバイナリを生成する
    Hamukoro
    Hamukoro 2019/05/27
  • XAML でリテラル+変数のテキストを設定したい : (*x).b=z->a+y/c

    ◆ Binding の StringFormat を使う ◆ Source={x:Static local:App.text} のようにすれば static な値を取得できる 調べてみたのですが 意外と簡単 Binding と StringFormat を使います DataContext が設定されてるときはそのままですが static な値など DataContext のプロパティでないこともあります そういうときは Source プロパティに x:Static で static 変数を指定できます バージョンを App クラスのフィールドに設定します

    XAML でリテラル+変数のテキストを設定したい : (*x).b=z->a+y/c
  • How can I wrap text in a label using WPF?

    Hamukoro
    Hamukoro 2018/10/19
  • UIElement.Visibility Property (System.Windows)

    Hamukoro
    Hamukoro 2018/09/29
    “public System.Windows.Visibility Visibility { get; set; }”
  • String.IsNullOrEmpty(String) メソッド (System)

    public: static bool IsNullOrEmpty(System::String ^ value); public static bool IsNullOrEmpty (string value); public static bool IsNullOrEmpty (string? value); static member IsNullOrEmpty : string -> bool Public Shared Function IsNullOrEmpty (value As String) As Boolean パラメーター value パラメーターが null または空の文字列 ("") の場合は true。それ以外の場合は false。 例 次の例では、3 つの文字列を調べて、各文字列に値があるかどうか、空の文字列か、 が nullかどうかを判断します。 using

    String.IsNullOrEmpty(String) メソッド (System)
    Hamukoro
    Hamukoro 2018/09/18
  • 【C#】Dictionaryの使い方 - PG日誌

    C# でキーと値のペアを管理する連想配列というデータ構造を扱う場合 Dictionary クラスを使用します (System.Collections.Generic名前空間) 今回はこの Dictionaryクラスの基的な使い方を紹介したいと思います。 基操作 宣言と初期化 値の取り出し 値の追加・削除 値の存在確認 データの個数の確認 データの列挙 その他の便利機能 キー・値をリストもしくは配列にする 命名規則 コメント注意事項 アンチパターン 多重辞書構造 プロパティのアクセス修飾子の指定 まとめ 関係する記事 基操作 宣言と初期化 使う前に以下を宣言します。 using System.Collections.Generic; // ← 必須 using Systen.Linq; // ← こっちは任意。あれば便利機能が使える。 連想配列の宣言方法は以下の通りです。 // 宣言が

    【C#】Dictionaryの使い方 - PG日誌
    Hamukoro
    Hamukoro 2018/07/07
  • 【C#】マジックナンバーを駆逐してやる!定数クラスの作り方

    そんな感情をむき出しにしてしまうほど、マジックナンバーというやつに憎悪を感じる。 正確には、なんの躊躇もなくマジックナンバーを使うプログラマに憎悪を感じている。 そもそもマジックナンバーとは以下のようなものだ。 プログラムにおけるマジックナンバー(魔法数字)とは、何らかの識別子として用いられるプログラム中に書かれた具体的な数値である。そのプログラムを書いた時点では製作者は数値の意図を把握しているが、他のプログラマーまたは製作者人がマジックナンバーの意図を忘れたとき閲覧すると「この数字の意味はわからないが、とにかくプログラムは正しく動く。まるで魔法の数字だ」という皮肉を含む。 引用元:マジックナンバー (プログラム) - Wikipedia 例えば以下のようなソースがあたったとする。 if (taxCalcKbn == "1") { tax = price / 21; payment =

    【C#】マジックナンバーを駆逐してやる!定数クラスの作り方
    Hamukoro
    Hamukoro 2018/06/28
    readonly
  • .NET(C#)でMS Office(Excel)のバージョンに依存しないアプリを作る

    以前作ったツール(C#からExcelを使う)が別の環境で動かないと言われ、調べたらMS Officeのバージョン違いだった(2007→2010)。最初にその話を聞いたとき、詳しい情報を聞いていなかったので、とりあえず自分のところ(MS Office 2013)でビルドしなおしたのを送ってもダメだったいうので、エラーメッセージ聞いたらわかった。 私が知っていたこの依存を無くす方法は、遅延バインディングを使うかCreateObject使うとか型情報が使えなくて面倒なやつばっかりだったので、このツール以降に作ったExcelを使うやつはどうせ型情報使えないのならとIronPythonを使っていました。とはいえ、C#で書いてあるのを書き直すのも面倒なので、他に方法が無いか調べたところ、MSのサイトにチュートリアル: Microsoft Office アセンブリからの型情報の埋め込み (C# および

    .NET(C#)でMS Office(Excel)のバージョンに依存しないアプリを作る
    Hamukoro
    Hamukoro 2018/06/10
    相互運用型の埋め込み=True
  • CryEarth - http://zatsugaku.info/cryearth

    You Are Banned.

    CryEarth - http://zatsugaku.info/cryearth
    Hamukoro
    Hamukoro 2018/06/06
  • WPF のコンテナ(WPF)(.NET Framework 3.0)

    概要 WPF では、 コントロール(ボタンやテキストボックス)などの配置を容易にするために、 配置制御のためのコンテナがいくつか用意されています。 Canvas まず、一番分かりやすいのは Canvas でしょうか。 Canvas では、 Canvas の左上からの相対座標を直接指定して子要素を配置します。 座標は、以下のように、Canvas.Left, Canvas.Top を使って指定します。 <Canvas xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" Width="200" Height="200" Background="LightGray" > <TextBox Canvas.Left

    WPF のコンテナ(WPF)(.NET Framework 3.0)
  • コマンド・プロンプトを表示しないコンソール・アプリケーションを作成するには?[C#、VB]

    このような[コマンド プロンプト]画面を表示せずに実行されるコンソール・アプリケーションを作成したい場合には、Visual Studio 2005以降では、コンソール・アプリケーションのプロジェクト・プロパティの[アプリケーション]タブを開き、C#の場合は[出力の種類]を「コンソール アプリケーション」から「Windows アプリケーション」に、Visual Basicの場合は[アプリケーションの種類]を「コンソール アプリケーション」から「Windows フォーム アプリケーション」に切り替えればよい。 ちなみにVisual Studio .NET 2002/2003では(Visual Basic、C#のどちらも)、コンソール・アプリケーションのプロジェクト・プロパティのダイアログで、[共通のプロパティ]-[全般]ツリーを選択し、[出力の種類]を「コンソール アプリケーション」から「Wi

    Hamukoro
    Hamukoro 2018/03/26
  • Pushbullet APIをC#で使うには。 - 葛城のメモ

    主な用途としては、WindowsのプログラムでC#を使っていてスマフォなどに通知を送らなければならない様な時。 他のcsからPush("title","body")で使える。手軽で良い。 using Pushbullet_plugins; Push("title","body"); private void Push(string title, string body) { Push Test = new Push(); Test.AccessToken = ""; https://www.pushbullet.com/accountにある Test.DeviceToken = ""; GetDeviceList()使って取得する。 //UrlEncodeでエンコードしないと文字化けする。 Test.SendNote(System.Web.HttpUtility.UrlEncode(tit

    Pushbullet APIをC#で使うには。 - 葛城のメモ
    Hamukoro
    Hamukoro 2018/03/25
  • FileSystemObject オブジェクトでファイル名にワイルドカード文字を使用できますか - Hey, Scripting Guy!

    This browser is no longer supported. Upgrade to Microsoft Edge to take advantage of the latest features, security updates, and technical support.

    FileSystemObject オブジェクトでファイル名にワイルドカード文字を使用できますか - Hey, Scripting Guy!
  • ClosedXMLでxlsxファイルの読み書きを行う - SourceChord

    C#から、xlsx形式のエクセルファイルを簡単に操作できる、ClosedXMLというライブラリを使ってみました。 Office2007以降のドキュメント形式について Office2007以降で使われている、xlsx/docx/pptxなどの形式のファイルは、OpenXMLというフォーマットで作成されています。 これらのファイルを読み込むために、OpenXML SDKというSDKがMSから提供されています。 https://msdn.microsoft.com/ja-jp/library/office/bb448854%28v=office.15%29.aspx https://github.com/OfficeDev/Open-XML-SDK ただし、このOpenXML SDKは使い方が結構面倒で、 「エクセルのシートをちょろっと読み書きしたい」というだけでも、だいぶ仰々しいコードになって

    ClosedXMLでxlsxファイルの読み書きを行う - SourceChord
  • C#、Unity、JavaScript、PHPを使いこなす小学生プログラマがマイクロソフトで最新技術に触れてみた|CodeIQ MAGAZINE

    小学5年生でC#、UnityJavaScriptPHPを使いこなすシュン君。2013年夏に開催された中・高校生のためのプログラミング・ITキャンプ「Life is Tech!」にも参加している。 その後のアプリコンテストでは最終予選まで残ったという。そんな彼にマイクロソフトの最新技術に触れる機会が訪れた。彼の頭中にはどんな夢が広がったのだろうか。 by 馬場美由紀 (CodeIQ中の人) 小学生プログラマシュン君の素顔 2013年も終わりに近づいた12月26日、日マイクロソフトのテクノロジーセンターを一人の小学生が訪れた。名前はシュン君。東京都に住む小学5年生だ。 シュン君がパソコンに興味を抱いたのは小学生になった頃。 「母親の携帯電話やパソコンから、祖母にメールを送って遊んでいたのですが、小学校3年生の時にPowerPointのアニメーション機能にはまり、『もっとパソコンでいろんな

    C#、Unity、JavaScript、PHPを使いこなす小学生プログラマがマイクロソフトで最新技術に触れてみた|CodeIQ MAGAZINE
  • C#でExcelのシートをコピーする

    C#で既存のExcelのシートを別のブックにコピーします。例えば、既存のシートを加工するアプリを作ったときに、その既存のシートに上書きするようにすると、エラーが起きたときにファイルが壊れそうで怖いですよね。ということで、シートの編集用に既存のシートを別のブックにコピーしてみます。 目次 C#でExcelを呼び出すときの注意新しいブックにシートをコピーしてみたライブラリの参照アプリを作ってみる試してみた使用上の注意 C#でExcelを呼び出すときの注意 C#からExcelを操作する場合は、リソース管理について注意が要ります。 COMオブジェクトを解放しないとExcelのプロセスが残るので、解放しなければなりません。方法については、 C#とVB.NETの入門サイト に詳しく書かれています。COMの参照カウントについては いげ太のブログ で解説されています。これをしないと、アプリ終了後もExce

    Hamukoro
    Hamukoro 2017/11/21
    当初はコピー先のブックを新しいExcelアプリケーションで作るようにしていたのですが、どうも同一Excelアプリ内のブック間でないとコピーできないようです。
  • C# で LINE Bot

    みなさん、こんにちは。Bot 開発してますか? 昨年発表された LINE 社の Messaging API とてもいい感じですが、個人的には、 - C# ライブラリが無い - Microsoft Bot Framework が LINE 対応していない という 2 点が嫌だったので、ライブラリを作ってみました 。今回はこちらを紹介します。 全てのソースはこちら: https://github.com/kenakamu/line-bot-sdk-csharp LINE Messaging API の申し込みと準備 1. LINE ビジネスセンターよりアカウント作成。https://business.line.me/ja/ 2. 会社/事業者を作成 3. サービスを利用開始のページより Messaging API を選択。 4. ここで間違えずに 「Developer Trial を始める」を

    C# で LINE Bot
  • C#で空フォルダを削除するファイルが存在しないフォルダを全て削除する処理が必要です。簡単な処理がありましたら、教えてくださ... - Yahoo!知恵袋

    C#で空フォルダを削除する ファイルが存在しないフォルダを全て削除する処理が必要です。 簡単な処理がありましたら、教えてください。 C#で空フォルダを削除する ファイルが存在しないフォルダを全て削除する処理が必要です。 簡単な処理がありましたら、教えてください。 Root ├─Folder1.................[KEEP] │..├─Folder1_1...........[DEL] │..└─file │ ├─Folder2.................[DEL] │..└─Folder2_1...........[DEL] │......└─Folder2_2.......[DEL] │..........├─Folder2_3...[DEL] │..........└─Folder2_4...[DEL] │ ├─Folder3.................[KE

    C#で空フォルダを削除するファイルが存在しないフォルダを全て削除する処理が必要です。簡単な処理がありましたら、教えてくださ... - Yahoo!知恵袋
    Hamukoro
    Hamukoro 2017/09/25
    再帰
  • c#で.xlsから.xlsxへ変換する - Qiita

    [参考サイト] http://convertxsltoxlsx.blogspot.jp .xlsファイルを開く→.xlsx形式で保存→.xlsファイルを削除。 参照マネージャー→COM→Microsoft Excel 14.0 Object Libraryの設定も忘れずに。 static void convertSample() { string xlsFileName = @"d:\SampleReportExcel.xls"; string xlsxFileName = @"d:\SampleReportExcel.xlsx"; Microsoft.Office.Interop.Excel.Application excelApp = new Microsoft.Office.Interop.Excel.Application(); // .xlsファイルを開く。 Microsoft.

    c#で.xlsから.xlsxへ変換する - Qiita
    Hamukoro
    Hamukoro 2017/09/24
    XlFileFormat.xlOpenXMLWorkbook
  • C#プログラマーのための再帰処理・超入門:Gushwell's Dev Notes

    いげ太さんの記事に触発されて僕も書いてみた。 岩波国語辞典には、再帰→回帰 とあり、回帰の意味を見てみると、 (2) 〔名〕処理手続きや規則の定義に、それ自身を繰り返し使うような仕方。 とあります。 つまり、C#での再帰処理とは、ある処理をするのに、自分自身のメソッドを繰り返し呼び出す処理のことです。 なお、再帰は、処理だけではなく、構造においても使われます。コンピュータのフォルダ構造が その身近な例ですね。 さて、それでは、1 から n までの整数の合計(これを sum(n)と表す)を求める処理 について考えてみます。 sum(n) = 1 + 2 + 3 + 4 + ... + (n-2) + (n-1) + n と表せます。 1 から (n-1) までの合計は、というと、sum(n-1) であらわすことができます。 つまり、 sum(n) = sum(n-1) + n と定義できるわ

    Hamukoro
    Hamukoro 2017/09/09
    C#プログラマーのための再帰処理・超入門