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

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

16
大文字小文字を区別しないString.Replace
「hello world」という文字列があります 「world」を「csharp」に置き換える必要がある このために私は使用します: string.Replace("World", "csharp"); しかし、その結果、文字列が置換されません。理由は大文字と小文字が区別されるためです。元の文字列には「world」が含まれていますが、「World」を置き換えようとしています。 string.Replaceメソッドでこの大文字と小文字の区別を回避する方法はありますか?
214 c#  string 

27
C#配列から重複を削除するにはどうすればよいですか?
string[]関数呼び出しから返されるC#の配列を使用しています。Genericコレクションにキャストすることもできますが、おそらく一時配列を使用して、それを行うためのより良い方法があるかどうか疑問に思いました。 C#配列から重複を削除するための最良の方法は何ですか?
214 c#  arrays  duplicates 


12
2つの一般的なリストの違いを比較する最も簡単な方法
2つの大量の(50.000を超えるアイテム)を比較するための最も迅速な(そしてリソースの消費が最も少ない)ものは何ですか。その結果、以下のような2つのリストがあります。 最初のリストには表示されるが2番目のリストには表示されないアイテム 2番目のリストには表示されるが、最初のリストには表示されないアイテム 現在、ListまたはIReadOnlyCollectionを使用しており、この問題をlinqクエリで解決しています。 var list1 = list.Where(i => !list2.Contains(i)).ToList(); var list2 = list2.Where(i => !list.Contains(i)).ToList(); しかし、これは私が望むほどうまく機能しません。たくさんのリストを処理する必要があるので、これをより速く、より少ないリソースで行うというアイデアはありますか?
213 c#  linq  list 

13
.NETデータ構造:ArrayList、List、HashTable、Dictionary、SortedList、SortedDictionary —速度、メモリ、およびそれぞれをいつ使用するか?
.NETには、多くの複雑なデータ構造があります。残念ながら、それらのいくつかは非常によく似ており、いつ使用するか、いつ使用するかは常にわかりません。私のC#とVisual Basicの本のほとんどは、ある程度それらについて語っていますが、実際には詳細には触れていません。 Array、ArrayList、List、Hashtable、Dictionary、SortedList、およびSortedDictionaryの違いは何ですか? どれが列挙可能ですか(IList-'foreach'ループを実行できます)?キーと値のペア(IDict)を使用するのはどれですか。 メモリフットプリントはどうですか?挿入速度は?検索速度は? 言及する価値のある他のデータ構造はありますか? 私はまだメモリ使用量と速度(Big-O表記)の詳細を探しています。

7
ASP.NET Identityを使用しているときにテーブル名を変更するにはどうすればよいですか?
Visual Studio 2013(MSDN 2013-10-18からダウンロード)のリリースバージョン(RCではなくRTM)を使用しているため、AspNet.Identityの最新(RTM)バージョンを使用しています。新しいWebプロジェクトを作成するとき、認証に「個人ユーザーアカウント」を選択します。これにより、次のテーブルが作成されます。 AspNetRoles AspNetUserClaims AspNetUserLogins AspNetUserRoles AspNetUsers (デフォルトテンプレートを使用して)新しいユーザーを登録すると、これらのテーブル(上記のリスト)が作成され、AspNetUsersテーブルに次の内容を含むレコードが挿入されます。 Id ユーザー名 PasswordHash SecurityStamp 弁別者 さらに、パブリックプロパティをクラス "ApplicationUser"に追加することで、 "FirstName"、 "LastName"、 "PhoneNumber"などのフィールドをAspNetUsersテーブルに追加できました。 これが私の質問です。上記のテーブルの名前を変更する方法はありますか(最初に作成されたとき)、または常にAspNet上記のようにプレフィックスが付けられますか?テーブル名に別の名前を付けることができる場合は、その方法を説明してください。 -更新- @Hao Kungのソリューションを実装しました。新しいテーブル(たとえば、MyUsersという名前)を作成しますが、AspNetUsersテーブルも作成します。目標は、「AspNetUsers」テーブルを「MyUsers」テーブルに置き換えることです。以下のコードと作成されたテーブルのデータベースイメージを参照してください。 実際に、各AspNetテーブルを自分の名前に置き換えたい... fxample、MyRoles、MyUserClaims、MyUserLogins、MyUserRoles、MyUsersの場合。 これをどのように達成し、1つのテーブルセットのみで終了するのですか? public class ApplicationUser : IdentityUser { public string FirstName { get; set; } public string LastName { get; set; } public string Address1 …

9
拡張メソッドは、非ジェネリック静的クラスで定義する必要があります
エラーが発生します: 拡張メソッドは、非ジェネリック静的クラスで定義する必要があります 行: public class LinqHelper Mark Gavellsコードに基づくヘルパークラスを次に示します。このエラーが何を意味するのか、私は本当に混乱しています。 using System; using System.Collections.Generic; using System.Linq; using System.Web; using System.Linq.Expressions; using System.Reflection; /// <summary> /// Helper methods for link /// </summary> public class LinqHelper { public static IOrderedQueryable<T> OrderBy<T>(this IQueryable<T> source, string property) { return ApplyOrder<T>(source, property, "OrderBy"); } public static IOrderedQueryable<T> …

9
HTTP POSTがエラーを返します:417「予期しないエラーが発生しました。」
URLにPOSTしようとすると、次の例外が発生します。 リモートサーバーがエラーを返しました:(417)予期された失敗。 これがサンプルコードです: var client = new WebClient(); var postData = new NameValueCollection(); postData.Add("postParamName", "postParamValue"); byte[] responseBytes = client.UploadValues("http://...", postData); string response = Encoding.UTF8.GetString(responseBytes); // (417) Expectation Failed. HttpWebRequest/HttpWebResponseペアまたはan を使用しHttpClientても違いはありません。 この例外の原因は何ですか?
212 c#  .net  http  http-post  webclient 


5
ASP.NET Web APIのオプションのクエリ文字列パラメーター
次のWebAPIメソッドを実装する必要があります。 /api/books?author=XXX&title=XXX&isbn=XXX&somethingelse=XXX&date=XXX クエリ文字列パラメーターはすべてnullにすることができます。つまり、呼び出し元は0から5つのパラメーターすべてを指定できます。 でMVC4ベータ私は、次の操作を実行するために使用しました: public class BooksController : ApiController { // GET /api/books?author=tolk&title=lord&isbn=91&somethingelse=ABC&date=1970-01-01 public string GetFindBooks(string author, string title, string isbn, string somethingelse, DateTime? date) { // ... } } MVC4 RCは、このように動作しなくなりました。5つ未満のパラメーターを指定すると、404格言で応答します。 リクエストに一致するコントローラ「Books」でアクションが見つかりませんでした。 URLルーティングでオプションのパラメーターを指定せずに、以前のように動作させるための正しいメソッドシグネチャは何ですか?

25
SqlDataReaderオブジェクトの列名を確認します
SqlDataReaderオブジェクトに列が存在するかどうかを確認するにはどうすればよいですか?私のデータアクセスレイヤーでは、複数のストアドプロシージャの呼び出しに対して同じオブジェクトを構築するメソッドを作成しました。ストアドプロシージャの1つに、他のストアドプロシージャで使用されない追加の列があります。すべてのシナリオに対応できるようにメソッドを変更したいと思います。 私のアプリケーションはC#で記述されています。
212 c#  .net  sqldatareader 

16
C#での複数の継承
多重継承は悪いので(ソースをより複雑にします)、C#はそのようなパターンを直接提供しません。しかし、この能力があると役立つ場合があります。 たとえば、インターフェイスとそのような3つのクラスを使用して、不足している多重継承パターンを実装できます。 public interface IFirst { void FirstMethod(); } public interface ISecond { void SecondMethod(); } public class First:IFirst { public void FirstMethod() { Console.WriteLine("First"); } } public class Second:ISecond { public void SecondMethod() { Console.WriteLine("Second"); } } public class FirstAndSecond: IFirst, ISecond { First first = new First(); Second …

4
C#-カスタムの古い警告を選択的に抑制する
Obsolete特定のメソッドが使用されている場合に警告を表示するために、(他のプログラマーが提案したように)属性を使用しています。 SuppressMessage使用が正当化されるポイントで、CodeAnalysisのような警告を抑制する方法はありますか? ありがとうございました! 編集 これは[Obsolete("Some message")]、警告に関する詳細を含める必要があるためです。ただし、#pragma warning disable 612naked [Obsolete]属性にメッセージを追加すると、機能しなくなります... 編集2 正しい警告番号が見つかりました- 廃止された属性の後にメッセージがある場合は618です。 だから私がやりたいことをするために: #pragma warning disable 618 そして電話の後 #pragma warning restore 618 私を正しい方向に向けてくれたJared ParとJon Skeetに感謝します!

27
ファイルまたはアセンブリを読み込めませんでした…パラメータが正しくありません
最近、C#ソリューションで次の例外に遭遇しました。 エラー2ファイルまたはアセンブリ 'Newtonsoft.Json、Version = 3.5.0.0、Culture = neutral、PublicKeyToken = b9a188c8922137c6'またはその依存関係の1つを読み込めませんでした。パラメータが正しくありません。(HRESULTからの例外:0x80070057(E_INVALIDARG)) これは私のコードにもアセンブリの名前にも依存しません(Newtonsoft.Jsonこの場合のように)。 ソリューションからこのdllを削除すると、コンパイラーは同じ例外内の別のDLLについて通知します。だから私は何かが私のPCでオフ/オンになっていると思います:)


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