.NET
QA@ITに投稿してみました。c#.net でDataTableの内容を比較する方法について - QA@IT 以下のDataTable1とDataTable2を比較して不一致分を表示したいのですが グルグルとループさせて1つずつ比較するぐらいしか方法を思いつきませんでした。 何かもっとスマー…
IEnumerable<T>に拡張メソッドとしてNotAnyを実装してみました。</t>
Visual Studio 2015 Previewのマシンイメージを使って、Azure仮想マシンを立てたので、C#6.0の新機能を試してみます。今回は、Auto-property initializersです。
どういうこと? String.FormatやStringBuilder.AppendFormatは、パラメータにNullを渡すと例外が発生します。
6/28に「CLR/H in Tokyo 第3回」の勉強会に行ってきました。CLR/H in Tokyo 第3回 - connpass 岩永信之さんのセッション「C#や.NET Frameworkがやっていること」で、メモしたことを書いておきます。
.NETにはnullを許容する値型nullableがあります。 逆にnullを許容しない参照型クラスがあったら、予期しないnull例外を避けられると思い作ってみました。 Unnullable.cs using System; namespace UnnullableTest { public class Unnullable<T> where T : class </t>…
EventLog.WriteEntryメソッドの不具合情報です。 EventLog.WriteEntry メソッドで出力可能な最大文字数が Windows のバージョンによって異なる.NET Framework System.Diagnostics.Eventlog.WriteEntry メソッドのリファレンスには、出力文字列が 32766 バイ…
Silverlightのコントロールの機能別一覧です。 コントロールの機能別一覧Silverlight には、さまざまな機能を実行するクライアント コントロールがあります。 機能が類似したコントロールを比較して、シナリオに合ったコントロールを選択できます。 これらの…
型付きデータセット + テーブルアダプターの抱える問題 データアクセスは、型付きデータセット + テーブルアダプターにずっと頼ってました。でも採用することにためらいを感じ始めました。複数人で同時に開発すると、コンフリクトが発生します。でも型付きデ…
WCFテストクライアントでWCFサービスをテストする方法を紹介します。 検証環境 Visual Studio 2010 SP1 手順 WCFサービスを起動する ※MEXエンドポイントを公開する必要があります。 Visual Studio コマンドプロンプトを起動する メニュー[Microsoft Visual S…
Sandcastle Help File Builder が、バージョン1.9.5.0で Visual Studio 2012 と .NET Framework 4.5 をサポートしました。 This new release supports Visual Studio 2010 and 2012 solutions and projects as documentation sources, and adds support for …
.NETからOfficeを扱うのは非常に面倒です。1つでもCOMオブジェクトの解放漏れがあるとプロセスが解放されずに残ってしまうからです。 複数のCOMオブジェクトを確実に解放する - プログラマーな日々.NETでCOMを扱う際に、複数のCOMオブジェクトを確実に解放…
app.configの設定値を変更する方法を紹介します。 検証環境 Visual Studio 2010 SP1 .NET Framework 4 app.config <configuration> <appSettings> <add key="hoge" value="foo"/> </appSettings> </configuration> ソースコード using System.Configuration; namespace AppConfigSample { class Program { stat…
DataGridViewのDataBindingCompleteイベントが複数回発生する現象に遭遇しました。 検索で次のブログがヒットしました。 DataGridView の DataBindingComplete イベントの発生回数 コード内で DataSource と DataMember の設定を行うとして、DataSource → Da…
イベントハンドラはprotectedにしないとマークアップのクラスからは参照できません。 ButttonコントロールのClickイベントを例として説明します。 どういうこと? ビハインドコードにイベントハンドラ(Button_Click)を作成し、アクセス修飾子をprivateまた…
Evalの戻り値をビハインドコードのメソッドの引数にしたいことがあります。 例えば、以下のようなメソッドをマークアップから呼び出す場合です。 /// <summary> /// コードから表示文字列を取得します。 /// </summary> /// <param name="value">コード。</param> /// <returns>変換された文字列。</returns> protected string C…
System.Collections.Generic.HashSetクラスを使ってみました。 HashSet(T) クラス (System.Collections.Generic)値のセットを表します。 HashSet コレクション型簡単に言えば、HashSet クラスは値のない Dictionary コレクションと考えることができます。 ..…
System.IO.Path.Combineメソッドはドライブレター直後にセパレータを付加しません。 Path.Combine メソッド (System.IO)複数の文字列を 1 つのパスに結合します。 ... つまり、次のコードは、 System.IO.Path.Combine(@"c:", "hoge"); 以下を返します。 c:ho…
C#でcheckedキーワードとuncheckedキーワードというものを知りました。 checkedキーワード、uncheckedキーワードとは? MSDNから引用します。 checked (C#)checked キーワードは、整数型の算術演算および変換に対してオーバーフロー チェックを明示的に有効…
LINQプロバイダをまとめてみました。いろいろありますね。Linq To OracleThe Linq To Oracle project provides a custom query provider for Oracle databases. ...LINQ to Active DirectoryLINQ to Active Directory implements a custom LINQ query provid…
WPFで背景が透明なウィンドウを作成する方法を紹介します。 App.xaml <Application xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" x:Class="Lancher.App" StartupUri="MainWindow.xaml"> <Application.Resources> </Application.Resources> </Application> MainWindow.…
Enumerable.GroupJoin(TOuter, TInner, TKey, TResult) メソッド (IEnumerable(TOuter), IEnumerable(TInner), Func(TOuter, TKey), Func(TInner, TKey), Func(TOuter, IEnumerable(TInner), TResult)) (System.Linq)キーが等しいかどうかに基づいて 2 つの…
Enumerable.SelectMany(TSource, TResult) メソッド (IEnumerable(TSource), Func(TSource, IEnumerable(TResult))) (System.Linq)シーケンスの各要素を IEnumerable に射影し、結果のシーケンスを 1 つのシーケンスに平坦化します。 ソースコード using Sys…
ビルド時に「"Exec" タスクには実行するためのコマンドが必要です。」のエラーが発生しました。 原因 ビルドイベントの[ビルド前/後に実行するコマンドライン]に改行だけが入力されていると、コマンドを実行しようとして何もコマンドがないためにエラーにな…
検証環境 Visual Studio 2008 SP1、.NET Framework 3.5、Word 2007、Office 2007 SP2 プロジェクトの作成 プロジェクトテンプレートはコンソールアプリケーションを選択します。 参照の追加 [COM] - [Microsoft Word 12.0 Object Library]への参照を追加しま…
すぐ忘れるので。 1.1 C:\WINDOWS\Microsoft.NET\Framework\v1.1.4322\InstallUtil.exe 2.0 - 3.5 C:\WINDOWS\Microsoft.NET\Framework\v2.0.50727\InstallUtil.exe 4 C:\WINDOWS\Microsoft.NET\Framework\v4.0.30319\InstallUtil.exe
Enumerable.Where(TSource) メソッド (IEnumerable(TSource), Func(TSource, Boolean)) (System.Linq)述語に基づいて値のシーケンスをフィルター処理します。 SQLでは、WHEREに相当します。 ソースコード using System; using System.Collections.Generic; u…
前回(以下のエントリー)のディレクトリ版を作ってみました。 ファイル名の変更を拡張メソッドで実装する - プログラマーな日々ファイル名の変更が必要なケースは珍しくありませんが、System.IO.FileにもSystem.IO.FileInfoにも名前を変更するメソッドはあ…
ファイル名の変更が必要なケースは珍しくありませんが、System.IO.FileにもSystem.IO.FileInfoにも名前を変更するメソッドはありません。 そこで、ファイル名の変更を拡張メソッドでFileInfoに実装してみました。内部ではFileInfo.MoveToメソッドを使用して…
※サイトは閉鎖されてしまったようです(2013/10/17追記)C#のソースコードをJavaに変換できるサイト「CodePorting C#2Java」を紹介します。 Free Source Code Converter - Convert .NET Applications to Java クリックするとサインインページが表示されます…