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

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


6
C#では、関数名の前のチルダは何を意味しますか?
私はいくつかのコードを見ています、そしてそれはこのステートメントを持っています: ~ConnectionManager() { Dispose(false); } クラスはIDisposableインターフェースを実装しますが、それがチルダ(〜)の使用の一部であるかどうかはわかりません。
164 c#  syntax  tilde 

12
RandomとOrderByは良いシャッフルアルゴリズムを使用していますか?
Coding Horrorでさまざまなシャッフルアルゴリズムについての記事を読みました。私はどこかでリストをシャッフルするためにこれを行ったのを見ました: var r = new Random(); var shuffled = ordered.OrderBy(x => r.Next()); これは良いシャッフルアルゴリズムですか?それはどのように正確に機能しますか?これを行うのに受け入れられる方法ですか?
164 c#  algorithm  shuffle 


6
イールドリターンを含むすべての列挙型を一度に返します。ループせずに
カードの検証エラーを取得する次の関数があります。私の質問は、GetErrorsの扱いに関するものです。両方のメソッドの戻り値の型は同じIEnumerable<ErrorInfo>です。 private static IEnumerable<ErrorInfo> GetErrors(Card card) { var errors = GetMoreErrors(card); foreach (var e in errors) yield return e; // further yield returns for more validation errors } エラーGetMoreErrorsを列挙せずにすべてのエラーを返すことは可能ですか? 考えてみると、これはおそらくばかげた質問ですが、私が間違っていないことを確認したいと思います。

16
Null Coalescingオペレーターを使用するユニークな方法[終了]
休業。この質問は意見に基づいています。現在、回答を受け付けていません。 この質問を改善してみませんか?この投稿を編集して、事実と引用で回答できるように質問を更新してください。 2か月前に閉鎖。 この質問を改善する C#でNull融合演算子を使用する標準的な方法は、デフォルト値を設定することです。 string nobody = null; string somebody = "Bob Saget"; string anybody = ""; anybody = nobody ?? "Mr. T"; // returns Mr. T anybody = somebody ?? "Mr. T"; // returns "Bob Saget" しかし、他に何??が使用できますか?三項演算子ほど便利ではないようですが、次の点よりも簡潔で読みやすくなっています。 nobody = null; anybody = nobody == null ? "Bob Saget" …


23
パスへのアクセスが拒否されました
私はこの質問がここで何度も尋ねられたことを知っていますが、私の問題の解決策を見つけることができません。私は.net c#のフォルダに画像を保存しようとしていますが、この例外が発生します: Access to the path 'C:\inetpub\wwwroot\mysite\images\savehere' is denied.The error occured at mscorlib because at System.IO.__Error.WinIOError(Int32 errorCode, String maybeFullPath) at System.IO.FileStream.Init(String path, FileMode mode, FileAccess access, Int32 rights, Boolean useRights, FileShare share, Int32 bufferSize, FileOptions options, SECURITY_ATTRIBUTES secAttrs, String msgPath, Boolean bFromProxy, Boolean useLongPath) at System.IO.FileStream..ctor(String path, FileMode mode, FileAccess …
164 c#  .net  iis  path  denied 


11
インターフェイスをC#ジェネリック型制約として使用するにはどうすればよいですか?
次の関数宣言を取得する方法はありますか? public bool Foo<T>() where T : interface; すなわち。ここで、Tはインターフェイスタイプです(where T : class、およびと同様struct)。 現在、私は解決しました: public bool Foo<T>() where T : IBase; IBaseが、すべてのカスタムインターフェイスによって継承される空のインターフェイスとして定義されている場合...理想的ではありませんが、機能するはずです...ジェネリック型をインターフェイスにする必要があると定義できないのはなぜですか? 価値Fooがあるのは、インターフェース型が必要な場所でリフレクションを行うためです。通常のパラメーターとして渡して、関数自体で必要なチェックを行うことができますが、これははるかに型保証されているように見えました(そして私はすべてのチェックがコンパイル時に行われるため、もう少しパフォーマンスが高いと仮定します)。


4
待機中のタスクをキャンセルする方法は?
私はこれらのWindows 8 WinRTタスクで遊んでいて、以下の方法を使用してタスクをキャンセルしようとしていますが、それはある時点で機能します。CancelNotificationメソッドが呼び出されると、タスクがキャンセルされたように見えますが、バックグラウンドでタスクは実行を続け、その後、タスクが完了すると、タスクのステータスは常に完了し、キャンセルされることはありません。キャンセルされたときにタスクを完全に停止する方法はありますか? private async void TryTask() { CancellationTokenSource source = new CancellationTokenSource(); source.Token.Register(CancelNotification); source.CancelAfter(TimeSpan.FromSeconds(1)); var task = Task<int>.Factory.StartNew(() => slowFunc(1, 2), source.Token); await task; if (task.IsCompleted) { MessageDialog md = new MessageDialog(task.Result.ToString()); await md.ShowAsync(); } else { MessageDialog md = new MessageDialog("Uncompleted"); await md.ShowAsync(); } } private int slowFunc(int …

7
HttpClientにリクエストと一緒に認証情報を渡す方法は?
Windowsサービスと通信する(IISでホストされている)Webアプリケーションがあります。WindowsサービスはASP.Net MVC Web API(自己ホスト型)を使用しているため、JSONを使用してhttp経由で通信できます。Webアプリケーションは偽装を行うように構成されています。つまり、Webアプリケーションへの要求を行うユーザーは、Webアプリケーションがサービスへの要求を行うために使用するユーザーである必要があります。構造は次のようになります。 (赤で強調表示されているユーザーは、以下の例で参照されているユーザーです。) Webアプリケーションは、HttpClient次を使用してWindowsサービスにリクエストを送信します。 var httpClient = new HttpClient(new HttpClientHandler() { UseDefaultCredentials = true }); httpClient.GetStringAsync("http://localhost/some/endpoint/"); これにより、Windowsサービスへの要求が行われますが、資格情報は正しく渡されません(サービスはユーザーをとして報告しますIIS APPPOOL\ASP.NET 4.0)。これは私が起こしたいことではありません。 上記のコードを変更してを使用するWebClientと、ユーザーの認証情報が正しく渡されます。 WebClient c = new WebClient { UseDefaultCredentials = true }; c.DownloadStringAsync(new Uri("http://localhost/some/endpoint/")); 上記のコードでは、サービスはユーザーをWebアプリケーションにリクエストを行ったユーザーとして報告します。 HttpClient資格情報を正しく渡さない原因となっている実装で何が問題になっていますか(またはのバグHttpClientですか?) を使用したいのHttpClientは、Tasksでうまく機能する非同期APIがあるのに対して、WebClient's asyc APIはイベントで処理する必要があるからです。

6
タイプの定数値を作成できませんこのコンテキストでは、プリミティブタイプまたは列挙タイプのみがサポートされています
以下のクエリでこのエラーが発生します タイプの定数値を作成できませんAPI.Models.PersonProtocol。このコンテキストでは、プリミティブ型または列挙型のみがサポートされています ppCombined以下は、2つのリストの連結によって構成されるのIEnumerableオブジェクトです。PersonProtocolTypePersonProtocol なぜこれが失敗するのですか?私たちは、LINQを使用することはできませんJOIN内部の句をSELECTしますかJOIN? var persons = db.Favorites .Where(x => x.userId == userId) .Join(db.Person, x => x.personId, y => y.personId, (x, y) => new PersonDTO { personId = y.personId, addressId = y.addressId, favoriteId = x.favoriteId, personProtocol = (ICollection<PersonProtocol>) ppCombined .Where(a => a.personId == x.personId) .Select( b => new PersonProtocol() { …


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