タグ付けされた質問 「c#」

C#(「seesharp」と発音)は、Microsoftによって開発された、静的に型指定された高レベルのマルチパラダイムプログラミング言語です。C#コードは通常、Microsoftの.NETファミリのツールとランタイムを対象としています。これには、.NET Framework、.NET Core、Xamarinなどが含まれます。このタグは、C#またはC#の正式な仕様で記述されたコードに関する質問に使用します。

5
C#:継承されたイベントを発生させる
次のイベントを含む基本クラスがあります。 public event EventHandler Loading; public event EventHandler Finished; この基本クラスを継承するクラスで、イベントを発生させようとします。 this.Loading(this, new EventHandler()); // All we care about is which object is loading. 次のエラーが表示されます。 イベント「BaseClass.Loading」は、+ =または-=(BaseClass ')の左側にのみ表示できます 他の継承メンバーと同じようにこれらのイベントにアクセスできないと思いますか?
144 c#  events  inheritance 

5
.netでのトランザクション
C#.Net 2.0でトランザクションを実行するためのベストプラクティスは何ですか。使用する必要があるクラスは何ですか?気を付けなければならない落とし穴などは何ですか。データをDBに挿入するときにトランザクションを実行する必要があるプロジェクトを開始しています。トランザクションについての基本的なことについての応答やリンクも歓迎します。
144 c#  .net  transactions 

3
トレイアイコンしかないWPFアプリケーション
私はWPFの初心者で、トレイに最小化された状態で起動するアプリケーションの記述方法を誰かに教えてもらえないかと思います。アイデアは、RSSフィードを定期的にフェッチし、新しいフィードがあるときにトースターポップアップを作成するというものです。 アプリケーションにはメインウィンドウ(基本的にはすべてのフィードエントリを含むリストのみ)が必要ですが、デフォルトでは非表示になっています。 XAMLとWPFについて読み始めましたが、App.xamlのStartupUriがメインウィンドウをポイントする必要があることを知っていますが、SysTrayアイコンを実行してメインウィンドウを非表示にする適切な方法(これもつまり、ユーザーがウィンドウを最小化すると、タスクバーではなくトレイに最小化されます)。 ヒントはありますか?
144 c#  .net  wpf  xaml 

9
C#ビルドマシンをセットアップする方法と理由 [閉まっている]
休業。この質問には、より焦点を当てる必要があります。現在、回答を受け付けていません。 この質問を改善したいですか?質問を更新して、この投稿を編集するだけで1つの問題に焦点を当てます。 4年前休業。 この質問を改善する 私はC#プロジェクトで小さな(4人の)開発チームと協力しています。これは良いことだと理解しているので、プロジェクトの夜間ビルドとテストを行うビルドマシンのセットアップを提案しました。困ったことに、ここには予算があまりないので、その力への出費を正当化しなければなりません。だから私は知りたい: どのようなツール/ライセンスが必要ですか?現在、ビルドにはVisual StudioとSmart Assemblyを使用し、ソース管理にはPerforceを使用しています。他に何か必要ですか、または自動化されたスクリプトを実行するためのcronジョブに相当するものはありますか? 正確には、ビルドが壊れていることを示す以外に、これで何が得られますか?特定の機能をテストできるように、これらのスクリプトによって実行されるこのソリューション(slnファイル)にテストプロジェクトを設定する必要がありますか?良い単体テストを作成する時間(または率直に言って、経験)がなかったため、現時点では2つのテストがあります。 これにはどのようなハードウェアが必要ですか? ビルドが完了してテストされたら、そのビルドをftpサイトに配置するのが一般的な方法ですか、それとも内部アクセスに他の方法がありますか?アイデアは、このマシンが行うということですビルドを、そして我々はすべてそれに行き、私たちがしなければならない場合、デバッグビルドすることができます。 どのくらいの頻度でこの種のビルドを作成する必要がありますか? スペースはどのように管理されますか?夜間ビルドを作成する場合、古いビルドをすべて維持する必要がありますか、それとも約1週間後からそれらを破棄し始める必要がありますか? 私がここで見ないものは他にありますか? これは非常に大きなトピックであることを理解しており、まだ始まったばかりです。この質問の重複をここで見つけることができませんでした。もしそこに私が手に入れたい本があるなら、知らせてください。 編集:私はついにそれを機能させました!Hudsonは完全に素晴らしく、FxCopは、実装されたと私たちが考えたいくつかの機能が実際には不完全であることを示しています。また、インストーラーのタイプをOld-And-Busted vdprojからNew Hotness WiXに変更する必要がありました。 基本的に、注意を払っている人にとっては、ビルドをコマンドラインから実行できれば、ハドソンに入れることができます。MSBuildを介してコマンドラインからビルドを実行することは、ツールを強制的に最新にするため、それ自体が有用な演習です。

2
.NET FrameworkはOutOfMemoryExceptionにメモリをどのように割り当てますか?
C ++では、ヒープにメモリを割り当てなくても、値によって例外をスローすることが実際に可能であるため、この状況は理にかなっています。ただし、.NETフレームワークOutOfMemoryExceptionは参照型であるため、ヒープに割り当てられます。OutOfMemoryException新しいオブジェクトを作成するのに十分なメモリがない場合、.NET Frameworkはどのようにメモリを割り当てますか?
144 c#  .net  out-of-memory 

8
大文字と小文字を区別しないリスト検索
testList一連の文字列を含むリストがあります。testListリストにまだ存在しない場合にのみ、新しい文字列をに追加したいと思います。したがって、大文字と小文字を区別せずにリストを検索して効率的にする必要があります。Contains大文字・小文字を考慮していないので使用できません。またToUpper/ToLower、パフォーマンス上の理由から使用したくありません。私はこの方法に出会いました、それはうまくいきます: if(testList.FindAll(x => x.IndexOf(keyword, StringComparison.OrdinalIgnoreCase) >= 0).Count > 0) Console.WriteLine("Found in list"); これは機能しますが、部分的な単語にも一致します。リストに「山羊」が含まれている場合、「山羊」はすでにリストにあると表示されているため、「山羊」を​​追加できません。大文字と小文字を区別しない方法でリストを効率的に検索する方法はありますか?ありがとう

8
JSON.NETを使用したJSONデータのC#への逆シリアル化
私はC#とJSONデータの操作に比較的慣れていないため、ガイダンスを求めています。私はC#3.0と.NET3.5SP1、およびJSON.NET 3.5r6を使用しています。 JSON構造から移植する必要がある定義済みのC#クラスがあります。ただし、Webサービスから取得されるエントリのすべてのJSON構造に、C#クラス内で定義されているすべての可能な属性が含まれているわけではありません。 私は間違っていると思われることを困難な方法で行っており、JObjectから各値を1つずつ取り出して、文字列を目的のクラスプロパティに変換しています。 JsonSerializer serializer = new JsonSerializer(); var o = (JObject)serializer.Deserialize(myjsondata); MyAccount.EmployeeID = (string)o["employeeid"][0]; JSON構造をC#クラスに逆シリアル化し、JSONソースから欠落している可能性のあるデータを処理する最良の方法は何ですか? 私のクラスは次のように定義されています: public class MyAccount { [JsonProperty(PropertyName = "username")] public string UserID { get; set; } [JsonProperty(PropertyName = "givenname")] public string GivenName { get; set; } [JsonProperty(PropertyName = "sn")] public string Surname { get; …

6
LINQ To EntitiesはメソッドLastを認識しません。本当に?
このクエリでは: public static IEnumerable<IServerOnlineCharacter> GetUpdated() { var context = DataContext.GetDataContext(); return context.ServerOnlineCharacters .OrderBy(p => p.ServerStatus.ServerDateTime) .GroupBy(p => p.RawName) .Select(p => p.Last()); } これを機能させるには、これに切り替える必要がありました。 public static IEnumerable<IServerOnlineCharacter> GetUpdated() { var context = DataContext.GetDataContext(); return context.ServerOnlineCharacters .OrderByDescending(p => p.ServerStatus.ServerDateTime) .GroupBy(p => p.RawName) .Select(p => p.FirstOrDefault()); } p.First()最初のクエリをミラーリングするためにを使用することさえできませんでした。 なぜこのような堅牢なORMシステムに基本的な制限があるのですか?
144 c#  entity-framework  orm 


10
辞書メンバーを含むクラスをシリアル化
以前の問題を拡張して、うまく機能した構成ファイルクラスを(逆)シリアル化することにしました。 私は今、マップするために、ドライブ文字の連想配列を保存する(キー値がネットワークパスで、ドライブ名です)と使用して試してみましたDictionary、HybridDictionaryと、Hashtableこのためのが、呼び出したとき、私はいつも次のエラーを取得しますConfigFile.Load()かConfigFile.Save(): タイプ「App.ConfigFile」を反映するエラーがありました。[切り取り] System.NotSupportedException:メンバーApp.Configfile.mappedDrivesをシリアル化できません[切り取り] 私が読んだことから、辞書とハッシュテーブルはシリアル化できるので、何が間違っているのですか? [XmlRoot(ElementName="Config")] public class ConfigFile { public String guiPath { get; set; } public string configPath { get; set; } public Dictionary<string, string> mappedDrives = new Dictionary<string, string>(); public Boolean Save(String filename) { using(var filestream = File.Open(filename, FileMode.OpenOrCreate,FileAccess.ReadWrite)) { try { var serializer = new XmlSerializer(typeof(ConfigFile)); …


3
プロパティの名前が異なる場合のマッピングルールの指定方法
私はAutomapperフレームワークの初心者です。次のようにドメインクラスとDTOクラスがあります。 public class Employee { public long Id {get;set;} public string Name {get;set;} public string Phone {get;set;} public string Fax {get;set;} public DateTime DateOfBirth {get;set;} } public class EmployeeDto { public long Id {get;set;} public string FullName {get;set;} public DateTime DateOfBirth {get;set;} } 注:クラスのプロパティ「Name」の名前は、Employeeクラスのプロパティ「FullName」の名前と同じではありませんEmployeeDto。 そして、これがEmployeeオブジェクトをマッピングするコードですEmployeeDto: Mapper.CreateMap<Employee, EmployeeDto>(); // code line …
144 c#  automapper 

5
C#で配列の一部を別の配列にコピーする方法は?
配列の一部を別の配列にコピーするにはどうすればよいですか? 私が持っていると考えて int[] a = {1,2,3,4,5}; 配列の開始インデックスと終了インデックスを指定すると、a別の配列にコピーされます。 開始インデックスを1、終了インデックスを3とすると、要素2、3、4が新しい配列にコピーされます。
144 c#  arrays 

12
IEnumerableの要素のインデックスを取得する方法は?
私はこれを書いた: public static class EnumerableExtensions { public static int IndexOf<T>(this IEnumerable<T> obj, T value) { return obj .Select((a, i) => (a.Equals(value)) ? i : -1) .Max(); } public static int IndexOf<T>(this IEnumerable<T> obj, T value , IEqualityComparer<T> comparer) { return obj .Select((a, i) => (comparer.Equals(a, value)) ? i : -1) …
144 c#  .net  linq  ienumerable  indexof 


弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.