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

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


4
リストから空の文字列を削除してから、リストから重複する値を削除する方法
テーブルからのいくつかの列値のリストがあるとしましょう。空の文字列と重複する値を削除するにはどうすればよいですか。次のコードを参照してください。 List<string> dtList = dtReportsList.AsEnumerable().Select(dr => dr.Field<string>("column1")).ToList(); これは私が今コーディングしたものですが、Amiramのコードははるかにエレガントなので、ここでその答えを選択します。 DataTable dtReportsList = someclass.GetReportsList(); if (dtReportsList.Rows.Count > 0) { List<string> dtList = dtReportsList.AsEnumerable().Select(dr => dr.Field<string>("column1")).ToList(); dtList.RemoveAll(x=>x == ""); dtList = dtList.Distinct().ToList(); rcboModule.DataSource = dtList; rcboModule.DataBind(); rcboModule.Items.Insert(0, new RadComboBoxItem("All", "All")); }
82 c#  linq 

5
Dispatcher.BeginInvoke:ラムダをSystem.Delegateに変換できません
電話をかけようとしていますSystem.Windows.Threading.Dispatcher.BeginInvoke。メソッドのシグネチャは次のとおりです。 BeginInvoke(Delegate method, params object[] args) デリゲートを作成する代わりに、ラムダを渡そうとしています。 _dispatcher.BeginInvoke((sender) => { DoSomething(); }, new object[] { this } ); コンパイラエラーが発生し、 ラムダをSystem.Delegateに変換できません。 デリゲートの署名は、オブジェクトをパラメーターとして受け取り、voidを返します。私のラムダはこれと一致しますが、機能していません。何が足りないのですか?

4
月の整数を月の名前に変換する
私は単にDateTime構造を使用して、1から12までの整数を省略された月の名前に変換しようとしていました。 これが私が試したものです: DateTime getMonth = DateTime.ParseExact(Month.ToString(), "M", CultureInfo.CurrentCulture); return getMonth.ToString("MMM"); ただしFormatException、文字列が有効ではないため、最初の行にが表示されますDateTime。誰かがこれを行う方法を教えてもらえますか?
82 c#  .net  datetime  .net-4.0 

3
JSON.netでJTokenの名前/キーを取得する
私はこのようなJSONを持っています [ { "MobileSiteContent": { "Culture": "en_au", "Key": [ "NameOfKey1" ] } }, { "PageContent": { "Culture": "en_au", "Page": [ "about-us/" ] } } ] これをJArrayとして解析します。 var array = JArray.Parse(json); 次に、配列をループします。 foreach (var content in array) { } content は JToken 各アイテムの「名前」または「キー」を取得するにはどうすればよいですか? たとえば、「MobileSiteContent」または「PageContent」
82 c#  json  json.net 

5
インデックス付きプロパティをMOQする方法
インデックス付きプロパティへの呼び出しをモックしようとしています。つまり、私は以下をmoqしたいと思います: object result = myDictionaryCollection["SomeKeyValue"]; また、セッター値 myDictionaryCollection["SomeKeyValue"] = myNewValue; アプリが使用するクラスの機能をモックする必要があるため、これを行っています。 誰かがMOQでこれを行う方法を知っていますか?私は以下のバリエーションを試しました: Dictionary<string, object> MyContainer = new Dictionary<string, object>(); mock.ExpectGet<object>( p => p[It.IsAny<string>()]).Returns(MyContainer[(string s)]); しかし、それはコンパイルされません。 私がMOQで達成しようとしていることは可能ですか?誰かが私がこれを行う方法の例を持っていますか?
82 c#  tdd  mocking  moq 


8
インターフェイスなしでクラスをモックするにはどうすればよいですか?
私はWindows7でC#を使用して.NET4.0に取り組んでいます。 モックを使っていくつかのメソッド間の通信をテストしたいと思います。唯一の問題は、インターフェースを実装せずにやりたいということです。それは可能ですか? モックオブジェクトに関する多くのトピックといくつかのチュートリアルを読んだだけですが、それらはすべて、クラスではなく、インターフェイスをモックするために使用されていました。RhinoとMoqのフレームワークを使おうとしました。
82 c#  mocking  tdd 



12
数秒後にMessageBoxを閉じます
メッセージを表示するためのMessageBoxを表示するWindowsフォームアプリケーションVS2010C#があります。 大丈夫なボタンがありますが、ボタンが消えた場合は、タイムアウトして、たとえば5秒後にメッセージボックスを閉じ、メッセージボックスを自動的に閉じます。 カスタムMessageBox(Formから継承)または別のレポーターFormsがありますが、Formである必要はありません。 それについての提案やサンプルはありますか? 更新しました: WPFの場合 C#でメッセージボックスを自動的に閉じる カスタムメッセージボックス(フォーム継承を使用) http://www.codeproject.com/Articles/17253/A-Custom-Message-Box http://www.codeproject.com/Articles/327212/Custom-Message-Box-in-VC http://tutplusplus.blogspot.com.es/2010/07/c-tutorial-create-your-own-custom.html http://medmondson2011.wordpress.com/2010/04/07/easy-to-use-custom-c-message-box-with-a-configurable-checkbox/ スクロール可能なメッセージボックス C#のスクロール可能なメッセージボックス 例外レポーター /programming/49224/good-crash-reporting-library-in-c-sharp http://www.codeproject.com/Articles/6895/A-Reusable-Flexible-Error-Reporting-Framework 解決: たぶん、フォームを使わずに、次の答えが良い解決策だと思います。 https://stackoverflow.com/a/14522902/206730 https://stackoverflow.com/a/14522952/206730

5
例外が特定のタイプであるかどうかを判断する方法
トライキャッチコードがあります: try { ... } catch(Exception ex) { ModelState.AddModelError( "duplicateInvoiceNumberOrganisation", "The combination of organisation and invoice number must be unique"); } このコードでは、データベースにレコードを挿入しようとしています。dbaは、データベースが重複をチェックし、重複がある場合はエラーを返すように設定しています。現在、ご覧のとおり、どのようなエラーが発生しても、同じエラーをモデルに追加しています。このエラーは、dbaによって設定された重複エラーが原因である場合にのみモデルに追加されるように変更したいと思います。 以下は私がキャッチしたいエラーです。内部例外にあることに注意してください。誰かがこれを具体的に捕まえる方法を教えてもらえますか?

9
ASP.NETCoreを使用して絶対URLを取得する
MVC 5では、相対URLではなく絶対URLを生成するために次の拡張メソッドがありました。 public static class UrlHelperExtensions { public static string AbsoluteAction( this UrlHelper url, string actionName, string controllerName, object routeValues = null) { string scheme = url.RequestContext.HttpContext.Request.Url.Scheme; return url.Action(actionName, controllerName, routeValues, scheme); } public static string AbsoluteContent( this UrlHelper url, string contentPath) { return new Uri(url.RequestContext.HttpContext.Request.Url, url.Content(contentPath)).ToString(); } public static …
82 c#  asp.net-core 

9
259文字より長い名前のファイルを処理するにはどうすればよいですか?
私は、いくつかのディレクトリ内のすべてのファイルをウォークスルーし、それらのファイルに対していくつかのアクションを実行するアプリケーションに取り組んでいます。特に、ファイルサイズとこのファイルが変更された日付を取得する必要があります。 一部のファイルのフルネーム(ディレクトリ+ファイル名)が長すぎるため、(260文字)にFileInfo制限されている.NETFrameworkを使用できませんでしたMAX_PATH。多くのWebソースは、名前が長すぎるファイルにアクセスするために、P / Invokeを介してネイティブのWin32関数を使用することを推奨しています。 現在、Win32関数でもまったく同じ問題が発生しているようです。たとえば、GetFileAttributesEx(kernel32.dll)は、270バイトのパスに対してWin32エラー3ERROR_PATH_NOT_FOUNDで失敗します。 まったく同じファイルをNotepad2から正常に開き、Windowsエクスプローラーで正常に表示できます(ただし、たとえばVisual Studio 2010は、259文字の制限のために開くことができません¹)。 ファイルパスが270文字の場合にファイルにアクセスできるようにするにはどうすればよいですか? ノート: ファイルパスの長さが259文字を超えるファイルを削除または無視することは、解決策ではありません。 Unicode互換のソリューションのみを探しています。 このアプリケーションは、.NET Framework4がインストールされたWindows2008 / Vista以降で実行されます。 ¹驚いたことに、Microsoft Word 2007は失敗し、フロッピードライブがないコンピュータで「フロッピーディスクが小さすぎる」、または4 GBのRAMが残っているときに「RAMメモリが少ない」、または最後に「ウイルス対策ソフトウェア[...]を更新する必要があります」。彼らはいつの日か、少なくともMicrosoft Officeのような主要な製品で、そのようなばかげた意味のないエラーを表示するのをやめますか?

15
WebBrowserコントロールにJavascriptを挿入する方法は?
私はこれを試しました: string newScript = textBox1.Text; HtmlElement head = browserCtrl.Document.GetElementsByTagName("head")[0]; HtmlElement scriptEl = browserCtrl.Document.CreateElement("script"); lblStatus.Text = scriptEl.GetType().ToString(); scriptEl.SetAttribute("type", "text/javascript"); head.AppendChild(scriptEl); scriptEl.InnerHtml = "function sayHello() { alert('hello') }"; scriptEl.InnerHtmlとscriptEl.InnerTextの両方でエラーが発生します。 System.NotSupportedException: Property is not supported on this type of HtmlElement. at System.Windows.Forms.HtmlElement.set_InnerHtml(String value) at SForceApp.Form1.button1_Click(Object sender, EventArgs e) in d:\jsight\installs\SForceApp\SForceApp\Form1.cs:line 31 at System.Windows.Forms.Control.OnClick(EventArgs …

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