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

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

5
GridViewがフォームタグ内にある場合でも、GridViewはrunat =“ server”のフォームタグ内に配置する必要があります
<form runat="server" id="f1"> <div runat="server" id="d"> grid view: <asp:GridView runat="server" ID="g"> </asp:GridView> </div> <asp:TextBox runat="server" ID="t" TextMode="MultiLine" Rows="20" Columns="50"></asp:TextBox> </form> 背後にあるコード: public partial class ScriptTest : System.Web.UI.Page { protected void Page_Load(object sender, EventArgs e) { g.DataSource = new string[] { "a", "b", "c" }; g.DataBind(); TextWriter tw = new StringWriter(); …
86 c#  .net  asp.net 

10
Selenium WebDriver C#を使用してドロップダウンからオプションを選択するにはどうすればよいですか?
オプションを選択してWebテストを試みていました。例はここにあります:http://www.tizag.com/phpT/examples/formex.php オプションパーツの選択を除いて、すべてがうまく機能します。値またはラベルでオプションを選択するにはどうすればよいですか? 私のコード: using OpenQA.Selenium.Firefox; using OpenQA.Selenium; using System.Collections.ObjectModel; using System.Text.RegularExpressions; using System.Threading; using System.Diagnostics; using System.Runtime.InteropServices; class GoogleSuggest { static void Main() { IWebDriver driver = new FirefoxDriver(); //Notice navigation is slightly different than the Java version //This is because 'get' is a keyword in C# driver.Navigate().GoToUrl("http://www.tizag.com/phpT/examples/formex.php"); IWebElement query …

9
.NETでTimeSpanを乗算する
C#でTimeSpanオブジェクトを乗算するにはどうすればよいですか?変数durationがTimeSpanであると仮定すると、たとえば、 duration*5 しかし、「演算子*はTimeSpan型とint型には適用できません」というエラーが表示されます。これが私の現在の回避策です duration+duration+duration+duration+duration しかし、これは非整数倍数には拡張されません。 duration * 3.5
86 c#  .net  date  time  timespan 


5
HttpWebRequest.GetResponse()が失敗したときにエラー情報を取得する方法
HttpWebRequestを開始してから、その応答を取得しています。ときどき、500(または少なくとも5 ##)のエラーが発生しますが、説明がありません。私は両方のエンドポイントを制御しており、受信側にもう少し情報を取得してもらいたいです。たとえば、サーバーからクライアントに例外メッセージを渡したいと思います。これはHttpWebRequestとHttpWebResponseを使用して可能ですか? コード: try { HttpWebRequest webRequest = HttpWebRequest.Create(URL) as HttpWebRequest; webRequest.Method = WebRequestMethods.Http.Get; webRequest.Credentials = new NetworkCredential(Username, Password); webRequest.ContentType = "application/x-www-form-urlencoded"; using(HttpWebResponse response = webRequest.GetResponse() as HttpWebResponse) { if(response.StatusCode == HttpStatusCode.OK) { // Do stuff with response.GetResponseStream(); } } } catch(Exception ex) { ShowError(ex); // if the server returns …


7
C#6で文字列補間でエスケープ文字を使用するにはどうすればよいですか?
私は文字列補間を使用していて、それを気に入っていますが、出力にバックスラッシュを含めようとしているのに、それを機能させることができないという問題があります。 私が欲しいのはこのようなものです。 var domain = "mydomain"; var userName = "myUserName"; var combo = $"{domain}\{userName}" コンボの出力を myDomain\myUserName 私が得ているのは、\がエスケープ文字であるという構文エラーです。\\を入力すると、snytaxエラーはなくなりますが、出力はmyDomain \\ myUsernameです。 補間文字列にエスケープ文字を含めるにはどうすればよいですか?

4
ループでawaitを使用する方法
コレクションに対していくつかの作業を行う非同期コンソールアプリを作成しようとしています。並列forループを使用するバージョンとasync / awaitを使用するバージョンがあります。async / awaitバージョンは並列バージョンと同様に機能することを期待していましたが、同期して実行されます。私は何が間違っているのですか? class Program { static void Main(string[] args) { var worker = new Worker(); worker.ParallelInit(); var t = worker.Init(); t.Wait(); Console.ReadKey(); } } public class Worker { public async Task<bool> Init() { var series = Enumerable.Range(1, 5).ToList(); foreach (var i in series) { Console.WriteLine("Starting Process {0}", …
86 c#  .net  async-await 

3
Entity Framework SaveChanges()とSaveChangesAsync()およびFind()とFindAsync()
上記の2つのペアの違いを探していましたが、それについて明確に説明している記事や、どちらを使用するかについての記事は見つかりませんでした。 だから、何の違いであるSaveChanges()とはSaveChangesAsync()? そして、の間Find()とFindAsync()? サーバー側では、Asyncメソッドを使用するときに、も追加する必要がありawaitます。したがって、サーバー側では非同期ではないと思います。 クライアント側のブラウザでUIがブロックされるのを防ぐのに役立つだけですか?それとも、それらの間に賛否両論がありますか?

7
string.List <int>または他のタイプに参加する
配列またはintのリストを、次のようにコンマ区切りの文字列に変換したいと思います。 string myFunction(List&lt;int&gt; a) { return string.Join(",", a); } ただし、string.JoinList&lt;string&gt;は2番目のパラメーターとしてのみ使用します。これを行うための最良の方法は何ですか?
86 c#  arrays  string 

5
ドメイン資格情報を検証する方法は?
ドメインコントローラーに対して一連の資格情報を検証したいと思います。例えば: Username: STACKOVERFLOW\joel Password: splotchy 方法1.偽装を使用してActiveDirectoryをクエリする 多くの人が、ActiveDirectoryに何かを照会することを提案しています。例外がスローされた場合は、資格情報が無効であることがわかります-このstackoverflowの質問で提案されているように。 ただし、このアプローチにはいくつかの重大な欠点があります。 ドメインアカウントを認証するだけでなく、暗黙的な承認チェックも実行します。つまり、偽装トークンを使用してADからプロパティを読み取っています。それ以外の場合は有効なアカウントにADから読み取る権限がない場合はどうなりますか?デフォルトでは、すべてのユーザーが読み取りアクセス権を持っていますが、ドメインポリシーを設定して、制限されたアカウント(またはグループ)のアクセス許可を無効にすることができます。 ADに対するバインドには重大なオーバーヘッドがあり、ADスキーマキャッシュをクライアントでロードする必要があります(DirectoryServicesが使用するADSIプロバイダーのADSIキャッシュ)。これはネットワークとADサーバーの両方であり、リソースを消費します。また、ユーザーアカウントの認証などの単純な操作にはコストがかかりすぎます。 例外ではない場合の例外の失敗に依存しており、それが無効なユーザー名とパスワードを意味すると想定しています。その他の問題(ネットワーク障害、AD接続障害、メモリ割り当てエラーなど)は、認証障害として誤って解釈されます。 方法2.LogonUser Win32 API 他の人が使用して示唆されているLogonUser()API関数を。これは良さそうに聞こえますが、残念ながら、呼び出し元のユーザーは、通常、オペレーティングシステム自体にのみ付与されるアクセス許可を必要とする場合があります。 LogonUserを呼び出すプロセスには、SE_TCB_NAME特権が必要です。呼び出しプロセスにこの特権がない場合、LogonUserは失敗し、GetLastErrorはERROR_PRIVILEGE_NOT_HELDを返します。 場合によっては、LogonUserを呼び出すプロセスで、SE_CHANGE_NOTIFY_NAME特権も有効にする必要があります。それ以外の場合、LogonUserは失敗し、GetLastErrorはERROR_ACCESS_DENIEDを返します。この特権は、ローカルシステムアカウントまたはadministratorsグループのメンバーであるアカウントには必要ありません。デフォルトでは、SE_CHANGE_NOTIFY_NAMEはすべてのユーザーに対して有効になっていますが、一部の管理者はすべてのユーザーに対して無効にすることができます。 「配っオペレーティングシステムの一部として、 Microsoftがで指摘するように- 」権限は行き当たりばったりやりたいものではありませんナレッジベースの記事: ... LogonUserを呼び出すプロセスには、SE_TCB_NAME特権が必要です(ユーザーマネージャーでは、これは「オペレーティングシステムの一部として機能する」権限です)。SE_TCB_NAME特権は非常に強力であり、 資格情報を検証する必要があるアプリケーションを実行できるようにするためだけに、任意のユーザーに付与しないでください。 さらに、LogonUser()空白のパスワードが指定されている場合、への呼び出しは失敗します。 ドメイン資格情報のセットを認証する適切な方法は何ですか? 私は起こるのマネージコードから呼び出すことが、これは、AA、一般的なWindowsの質問です。お客様には.NETFramework2.0がインストールされていると想定できます。

17
データアクセス後にC#でExcelアプリケーションプロセスを閉じる
読み取り/書き込み操作用のExcelテンプレートファイルを開くアプリケーションをC#で作成しています。ユーザーがアプリケーションを閉じたときに、Excelファイルを保存せずにExcelアプリケーションプロセスを閉じたいと思います。アプリを複数回実行した後、タスクマネージャーを参照してください。 私はこのコードを使用してExcelファイルを開きます: public Excel.Application excelApp = new Excel.Application(); public Excel.Workbook excelBook; excelBook = excelApp.Workbooks.Add(@"C:/pape.xltx"); そしてデータアクセスのために私はこのコードを使用します: Excel.Worksheet excelSheet = (Worksheet)(excelBook.Worksheets[1]); excelSheet.DisplayRightToLeft = true; Range rng; rng = excelSheet.get_Range("C2"); rng.Value2 = txtName.Text; この質問やこれなどのスタックオーバーフローで同様の質問が表示され、回答がテストされますが、機能しません。

6
タプルvs'out 'vs'struct'の2つの値を返します
2つの値を返す関数について考えてみます。我々は書ける: // Using out: string MyFunction(string input, out int count) // Using Tuple class: Tuple&lt;string, int&gt; MyFunction(string input) // Using struct: MyStruct MyFunction(string input) どちらがベストプラクティスであり、その理由は何ですか?
86 c#  struct  tuples  out  value-type 

16
Ctrl + R、Ctrl + Rコマンドが機能しない
Visual Studio 2008内でCtrl+ R、Ctrl+Rコマンドを使用して、変数の名前を変更しようとしています。下部に次のようなエラーメッセージが表示されます 「キーの組み合わせ(Ctrl+ R、Ctrl+ R)は、現在使用できないコマンド(&Rename ...)にバインドされています。」 私はそれを実行していないか、ファイルの変更を禁止している可能性があり、F2コマンドで名前の変更を許可していると思われるものは何もありません。誰かがこれを修正する方法を知っていますか? 編集:私はResharperをインストールしていますが、以前は同じセットアップでこれを行うことができました。最近、コンピューターを移行しました。

8
エラーをどのように診断する必要がありますかSEHException-外部コンポーネントが例外をスローしました
ユーザーが次のようなエラーを報告するたびに System.Runtime.InteropServices.SEHException-外部コンポーネントが例外をスローしましたか? プログラマーとして私が原因を特定するためにできることはありますか? シナリオ:1人のユーザー(私の会社が作成したプログラムを使用)がこのエラーを報告しました。これは1回限りのエラーである場合とそうでない場合があります。彼らは先月、コンピューターが2回「動作を停止」したと述べた。私は経験から、この説明を文字通りに解釈しないことを学びました。これは通常、コンピューターに関連する誰かが期待どおりに機能していないことを意味します。彼らは私にそれ以上の詳細を与えることができず、私は記録されたエラーを見つけることができませんでした。したがって、このエラーである場合とそうでない場合があります。 スタックトレースから、実際のエラーは、相互運用コードを直接呼び出さないクラスを構築するときでしたが、オブジェクトがDevExpressグリッドにデータバインドされたリストの一部である可能性があるという事実によっておそらく複雑になりました。 エラーは、通常はプログラムを終了する未処理の例外ルーチンによって「キャッチ」されましたが、無視して続行するオプションがあります。エラーを無視することを選択した場合、プログラムは引き続き機能しますが、このルーチンが次に実行されたときにエラーが再発しました。ただし、アプリケーションを閉じて再起動した後、再び発生することはありませんでした。 問題のコンピュータはストレスがたまっていないようでした。Vista Businessを実行しており、2 GBのメモリがあり、タスクマネージャーによると、アプリケーションではその約半分しか使用していませんでした。 関連する場合と関連しない場合がある情報がもう1つあります。同じプログラムの別のセクションでは、ネイティブdllのドットネットラッパーであるサードパーティコンポーネントを使用していますが、このコンポーネントには既知の問題があり、非常にまれに 保護されたメモリの読み取りまたは書き込みを試みました。これは多くの場合、他のメモリが破損していることを示しています コンポーネントメーカーによると、これは社内で使用しているコンポーネントの最新バージョンで修正されているとのことですが、まだお客様に提供されていません。 エラーの影響が少ないこと(作業が失われることはなく、プログラムを再起動して元の場所に戻るのに最大で1分しかかからない)、および顧客がまもなく新しいバージョンを取得することを考えると(3番目に更新された-パーティーコンポーネント)、私は明らかに私の指を交差させることができ、エラーが二度と起こらないことを願っています。 しかし、私にできることは他にありますか?

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