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

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

4
オブジェクトのリストをオブジェクトのプロパティの1つの配列に変換します
次のクラスがあるとします。 public class ConfigItemType { public string Name { get; set; } public double SomeOtherThing { get; set; } } 次に、以下のクラスのリストを作成します(List<ConfigItemType> MyList) これで、次のシグネチャを持つメソッドができました。 void AggregateValues(string someUnrelatedValue, params string[] listGoesHere) の値をparams文字列配列として使用するMyListにはどうすればよいですか?listGoesHereConfigItemType.Name Linqがこれを実行できると確信しMyListていますが、selectメソッドはありません(これは私が使用したものです)。
133 c#  linq 


5
データマッパー、テーブルデータゲートウェイ(ゲートウェイ)、データアクセスオブジェクト(DAO)、リポジトリパターンの違いは何ですか?
デザインパターンのスキルを磨こうとしていますが、これらのパターンの違いは何ですか?それらはすべて同じもののように見えます-特定のエンティティのデータベースロジックをカプセル化して、呼び出し元のコードが基になる永続性レイヤーを認識しないようにします。私の簡単な調査から、それらすべては通常、標準のCRUDメソッドを実装し、データベース固有の詳細を抽象化します。 命名規則(CustomerMapper、CustomerDAO、CustomerGateway、CustomerRepositoryなど)は別として、もしあれば、どのような違いがありますか?違いがある場合、いつどちらを選択しますか? 以前は、次のようなコードを記述しました(単純化された、当然のことですが、通常はパブリックプロパティを使用しません)。 public class Customer { public long ID; public string FirstName; public string LastName; public string CompanyName; } public interface ICustomerGateway { IList<Customer> GetAll(); Customer GetCustomerByID(long id); bool AddNewCustomer(Customer customer); bool UpdateCustomer(Customer customer); bool DeleteCustomer(long id); } CustomerGatewayすべてのメソッドに特定のデータベースロジックを実装するクラスがあります。時にはインターフェイスを使用せず、CustomerGatewayのすべてのメソッドを静的にする(そうすれば、テストが難しくなります)ので、次のように呼び出すことができます。 Customer cust = CustomerGateway.GetCustomerByID(42); これは、Data MapperおよびRepositoryパターンの場合と同じ原則のようです。DAOパターン(ゲートウェイと同じものだと思いますか?)もデータベース固有のゲートウェイを推奨しているようです。 何か不足していますか?同じことを正確に行うために3〜4つの異なる方法があるのは少し奇妙に思えます。

21
カスタムMSBuildタスクを作成するときに、C#コードから現在のプロジェクトディレクトリをどのように取得しますか?
パスがハードコーディングされた外部プログラムを実行する代わりに、現在のプロジェクトディレクトリを取得します。カスタムタスクのプロセスを使用して外部プログラムを呼び出しています。 どうすればいいですか?AppDomain.CurrentDomain.BaseDirectoryは、VS 2008の場所を教えてくれます。
133 c#  msbuild 

11
ネイティブDLLファイルがx64またはx86としてコンパイルされているかどうかを確認する方法
ネイティブアセンブリがマネージコードアプリケーション(C#)からx64またはx86としてコンパイルされているかどうかを確認したいと思います。 OSローダーがこの情報を知る必要があるため、PEヘッダーのどこかにあるはずだと思いますが、見つかりませんでした。もちろん、マネージコードで実行することを好みますが、必要に応じて、ネイティブC ++を使用できます。
133 c#  .net  winapi  64-bit  x86-64 

2
Entity Frameworkの3つのテーブルの結合
3つのテーブルを結合しようとしていますが、方法を理解できません... 2つのテーブルの結合を完了しました var entryPoint = dbContext.tbl_EntryPoint .Join(dbContext.tbl_Entry, c => c.EID, cm => cm.EID, (c, cm) => new { UID = cm.OwnerUID, TID = cm.TID, EID = c.EID, }). Where(a => a.UID == user.UID).Take(10); TID PK を含むtbl_Titleテーブルを含め、タイトルフィールドを取得したいと思います。 どうもありがとう

1
逐語的文字列を補間でどのように使用しますか?
C#6には、補間された文字列という新しい機能があります。 これらを使用すると、インデックスに依存するのではなく、式をコードに直接配置できます。 string s = string.Format("Adding \"{0}\" and {1} to foobar.", x, this.Y()); になる: string s = $"Adding \"{x}\" and {this.Y()} to foobar."; ただし、次のように逐語的文字列(主にSQLステートメント)を使用して、複数行にわたって多くの文字列があります。 string s = string.Format(@"Result... Adding ""{0}"" and {1} to foobar: {2}", x, this.Y(), x.GetLog()); これらを通常の文字列に戻すのは面倒です: string s = "Result...\r\n" + $"Adding \"{x}\" and {this.Y()} to foobar:\r\n" …

3
Linq:GroupBy、Sum、Count
製品のコレクションがあります public class Product { public Product() { } public string ProductCode {get; set;} public decimal Price {get; set; } public string Name {get; set;} } 次に、製品コードに基づいてコレクションをグループ化し、名前、各コードの製品数、および各製品の合計価格を含むオブジェクトを返します。 public class ResultLine{ public ResultLine() { } public string ProductName {get; set;} public string Price {get; set; } public string Quantity {get; set;} …
133 c#  .net  linq 

9
テーブルの1つのフィールドのみに基づくLinqでの区別
Linqで.distinctを使用して、テーブルの1つのフィールドに基づいて結果を取得しようとしています(したがって、テーブルからの重複したレコード全体を必要としません)。 私は次のようにdistinctを使用して基本的なクエリを書くことを知っています: var query = (from r in table1 orderby r.Text select r).distinct(); しかし、r.text重複しない結果が必要です。
133 c#  sql  linq 

8
ASP.NET MVCはい/いいえ強くバインドされたモデルMVCのラジオボタン
はい/いいえラジオボタンをASP.NET MVCの厳密に型指定されたモデルのブールプロパティにバインドする方法を知っている人はいますか? 型番 public class MyClass { public bool Blah { get; set; } } 見る <%@ Page Title="blah" Inherits="MyClass"%> <dd> <%= Html.RadioButton("blah", Model.blah) %> Yes <%= Html.RadioButton("blah", Model.blah) %> No </dd> ありがとう 解決: ブライアンの指示に感謝しますが、それは彼が書いたものとは逆でした。そのように- <%@ Page Title="blah" Inherits="MyClass"%> <dd> <%= Html.RadioButton("blah", !Model.blah) %> Yes <%= Html.RadioButton("blah", Model.blah) %> No …

14
DateTimeを特定の文字列形式に/から変換する方法(たとえば、与えられた形式が「yyyyMMdd」である双方向)?
文字列形式の日時の変換に問題がありますが、形式を使用して変換できません"yyyyMMdd"。 私のコードは: string tpoc = refSubClaim.BenefitsFolder.BenefitFolderIdNumber.ToString(); string[] tpocinfo = Regex.Split(tpoc,";"); for (int i = 0; i < tpocinfo.Length; i++) { switch (i) { case 0: { string[] tpoc2 = Regex.Split(tpocinfo[0], ","); claimantAuxillaryRecord.TPOCDate2 = tpoc2[0].ToString(); claimantAuxillaryRecord.TPOCAmount2 = Convert.ToDecimal(tpoc2[1]); claimantAuxillaryRecord.FundingDelayedBeyondTPOCStartDate2 = tpoc2[2].ToString(); } break;
132 c#  string  datetime 

8
ビルド後のイベントを使用して、あるプロジェクトから別のプロジェクトにファイルをコピー…VS2010
3つのプロジェクトを含むソリューションがあります。あるプロジェクトから別のプロジェクトにビューをコピーする必要があります。次のように、ビルド後のイベントを介して作成したDLLをコピーできます。 プロジェクト1のファイル/Views/ModuleHome/Index.cshtmlをプロジェクト2のフォルダーにコピーしたいのですが、ビルド後のイベントを介して、目的のプロジェクトにファイルをコピーするにはどうすればよいですか?ありがとう

9
C#でのアクションデリゲートの使用[終了]
休業。この質問はもっと集中する必要があります。現在、回答を受け付けていません。 この質問を改善してみませんか?質問を更新して、この投稿を編集するだけで1つの問題に焦点を当てます。 2年前休業。 この質問を改善する 私はアクションデリゲートをC#で操作し、それらについてさらに学び、それらがどこに役立つかを考えていました。 誰かがアクションデリゲートを使用しましたか?それとも役に立つかもしれない例をいくつか挙げていただけますか?
132 c#  lambda  delegates  action 

30
Visual Studio 2005でのコンパイル時間が非常に遅い
コンパイル時間が非常に遅くなり、デュアルコア2GHz、2G Ramマシンでは20分以上かかる場合があります。 これの多くは、70以上のプロジェクトに成長したソリューションのサイズと、多数のファイルがある場合にそれ自体がボトルネックであるVSSによるものです。(VSSのスワップアウトは残念ながらオプションではないので、これをVSS bashに降りたくありません) プロジェクトのマージを検討しています。また、アプリケーションの各要素について、懸念事項の分離とコンパイル時間の短縮を実現する複数のソリューションを検討しています。同期を維持しようとすると、これはDLLの地獄になるでしょう。 他のチームがこのスケーリングの問題にどのように対処したか、ステータスバーがコンパイルメッセージを配信しているのを見て半日無駄になっているクリティカルな質量にコードベースが達したときにどうするかを知りたいです。 更新 これがC#ソリューションであることを言及しなかった。すべてのC ++の提案に感謝しますが、ヘッダーについて心配しなければならなくなってから数年になります。 編集: これまでに役に立った素晴らしい提案(以下に他の良い提案がないと言っているのではなく、何が役に立ったかだけです) 新しい3 GHzラップトップ-失われた使用率のパワーは、管理に不快感を与えるときに不思議に機能します コンパイル中にアンチウイルスを無効にする コンパイル中にVSS(実際にはネットワーク)から「切断」-VS-VSS統合を完全に削除して、VSS UIの使用に固執する それでもコンパイルをすり抜けるわけではありませんが、すべてが役立ちます。 Orionは、ジェネリック医薬品にも影響がある可能性があることをコメントで述べました。私のテストでは、パフォーマンスへの影響は最小限であるように見えますが、十分な高さではありません。ディスクのアクティビティが原因で、コンパイル時間が一定しない場合があります。時間の制限により、私のシステムには、ライブシステムに表示されるほど多くのGenericsまたはコードが含まれていなかったため、蓄積される可能性があります。コンパイル時のパフォーマンスのためだけに、ジェネリックが使用されるはずの場所でジェネリックを使用することは避けません 回避策 新しいソリューションでアプリケーションの新しい領域を構築し、必要に応じて最新のDLLをインポートし、満足したときにそれらをより大きなソリューションに統合する方法をテストしています。 また、作業する必要のある領域をカプセル化する一時的なソリューションを作成し、コードを再統合した後でそれらを破棄することにより、既存のコードと同じようにすることもできます。このコードを再統合するのにかかる時間と、開発中に迅速な再コンパイルを行ったようなRip Van Winkleのような経験がないことで得られる時間とを比較検討する必要があります。

8
AngularJSを使用してASP.NET Web APIメソッドからファイルをダウンロードする
私のAngular JSプロジェクトには<a>アンカータグがあり、クリックするとGETファイルを返すWebAPIメソッドにHTTP リクエストを送信します。 リクエストが成功したら、ファイルをユーザーにダウンロードしてもらいたい。それ、どうやったら出来るの? アンカータグ: <a href="#" ng-click="getthefile()">Download img</a> AngularJS: $scope.getthefile = function () { $http({ method: 'GET', cache: false, url: $scope.appPath + 'CourseRegConfirm/getfile', headers: { 'Content-Type': 'application/json; charset=utf-8' } }).success(function (data, status) { console.log(data); // Displays text data if the file is a text file, binary if it's an …

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