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

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



30
大文字の前にスペースを追加する
「ThisStringHasNoSpacesButItDoesHaveCapitals」という文字列が与えられた場合、大文字の前にスペースを追加する最良の方法は何ですか。したがって、最後の文字列は「この文字列にはスペースがありませんが、大文字は含まれています」になります。 これがRegExでの私の試みです System.Text.RegularExpressions.Regex.Replace(value, "[A-Z]", " $0")
193 c#  regex  string 

30
Visual Studioのビルドが失敗する:obj \ debugからbin \ debugにexeファイルをコピーできない
更新: このバグを再現するサンプルプロジェクトは、Microsoft Connectにあります。また、以下の承認された回答で提供されているソリューションがそのサンプルプロジェクトで機能することをテストして確認しました。この解決策がうまくいかない場合は、おそらく別の問題が発生しています(別の質問に属しています)。 これは以前スタックオーバーフローと他の場所の両方で尋ねられた質問ですが、これまでに見つけた提案のどれも私を助けてくれなかったので、私は新しい質問をしてみなければなりません。 シナリオ:単純なWindowsフォームアプリケーション(C#、. NET 4.0、Visual Studio 2010)があります。他のほとんどのフォームが継承する2つの基本フォームがあり、データベースアクセスにEntity Framework(およびPOCOクラス)を使用します。派手なもの、マルチスレッドなどはありません。 問題:しばらくの間はすべて順調でした。その後、突然、アプリケーションを起動しようとしたときにVisual Studioがビルドに失敗しました。「ファイル '... bin \ Debug \ [ProjectName] .exe'を削除できません。パス '... bin \ Debug \ [ProjectName] .exe'へのアクセスが拒否されました。」という警告が表示されました。エラー「ファイル 'obj \ x86 \ Debug \ [ProjectName] .exe」を「bin \ Debug \ [ProjectName] .exe」にコピーできません。プロセスはファイル' bin \ Debug \ [ProjectName] .exe」にアクセスできません'別のプロセスで使用されているためです。」(Rebuildを実行すると警告とエラーの両方が表示されますが、Buildを実行するとエラーのみが表示されます-関係ないと思いますか?) 私は警告とエラーメッセージが何を言っているかを完全に理解しています:Visual Studioは、なぜか何らかの理由で同時にロックがかかっている間に、exeファイルを上書きしようとしています。ただし、これは問題の解決策を見つけるのに役立ちません... Visual Studioをシャットダウンして再起動することだけが機能していることがわかりました。その後、いくつかのフォームに変更を加えるまで、ビルドと起動は機能します。その後、同じ問題が発生し、再起動する必要があります...かなりイライラします! 上で述べたように、これは既知の問題であると思われるため、推奨される解決策はたくさんあります。ここですでに試したものをリストアップするだけなので、人々は何をスキップすべきかを知っています。 …

7
シングルステップでリスト内のアイテムのインデックスを取得する方法
ループせずにリスト内のアイテムのインデックスを見つけるにはどうすればよいですか? 現在、これは非常に見栄えがよくありません-インデックスを取得するためだけに、同じアイテムのリストを2回検索します。 var oProp = something; int theThingIActuallyAmInterestedIn = myList.IndexOf(myList.Single(i => i.Prop == oProp));
193 c#  linq  lookup 


15
asp.netでサイト全体にhttpsを強制する最良の方法は?
約6か月前に、すべてのリクエストをhttps経由にする必要があるサイトを公開しました。ページへのすべてのリクエストがhttps経由であることを確認できる唯一の方法は、ページ読み込みイベントでそれをチェックすることでした。リクエストがhttp経由でない場合、response.redirect( " https://example.com ") より良い方法はありますか?理想的には、web.configのいくつかの設定ですか?
192 c#  asp.net  vb.net  webforms  https 

5
WPFナビゲーションのウィンドウvsページvsユーザーコントロール?
私は現在デスクトップアプリケーションを書いていますが、誰かをアプリケーションの新しいセクションにリダイレクトするときに何を使用するか頭を悩ませているようです。 私のオプションは 窓 ページ UserControl しかし、それらの違いが何であるか、そしてそれぞれをいつ使用するべきかはわかりません。 誰かが私のために違いを説明して、それぞれにどのような状況/アプリケーションを使用することができるかの例を挙げてもらえますか?
192 c#  wpf 

3
.NETでリソースを作成して使用する方法
プログラムのさまざまな部分で簡単に参照および使用できるリソースを作成するにはどうすればよいですか? 私の特定の問題は、プログラムの状態に応じてアイコンを変更したいNotifyIconがあることです。よくある問題ですが、長い間苦労してきました。

8
マテリアライズド値がnullであるため、値タイプ 'Int32'へのキャストは失敗しました
次のコードがあります。エラーが発生します: 「値の型 'Int32'へのキャストは、実体化された値がnullであるため失敗しました。結果の型のジェネリックパラメーターまたはクエリでnull可能な型を使用する必要があります。」 CreditHistoryテーブルにレコードがない場合。 var creditsSum = (from u in context.User join ch in context.CreditHistory on u.ID equals ch.UserID where u.ID == userID select ch.Amount).Sum(); null値を受け入れるようにクエリを変更するにはどうすればよいですか?

21
Microsoft.Jet.OLEDB.4.0 'プロバイダーがローカルマシンに登録されていません
.NET 3.5で開発されたWindowsアプリケーションを32ビットWindows 2008サーバーで作成しました。アプリケーションを64ビットサーバーにデプロイすると、「Microsoft.Jet.OLEDB.4.0」プロバイダーがローカルマシンに登録されていません」というエラーが表示されます。 この問題の解決策として、プロジェクトのビルドプロパティをX86に変更し、32ビットモードでビルドし、32ビットマシンでプロジェクトを再ビルドするようにしました。ただし、同じプロジェクトは他のDBドライバー(DB2、SQLなど)を使用して他のデータベースに接続します。そのため、64ビットOSにアプリを再度展開すると、「32ビットプラットフォームで64ビットアセンブリをロードしようとしました」という例外がスローされます。 Microsoft.Jet.OLEDB.4.0ドライバーを使用してExcel(.xls)の読み取りと書き込みを行っています
191 c#  .net  oledb  32bit-64bit  jet 

16
C#DLL構成ファイル
DLLにapp.configファイルを追加しようとしていますが、すべての試行が失敗しました。 MusicGenesisによると、「構成情報をDLLに入れる」ことは問題になりません。明らかに私は何か間違ったことをしています... 次のコードは、DLLからConnectionStringを返すはずです。 return ConfigurationManager.AppSettings["ConnectionString"]; ただし、app.configファイルをコンソールアプリケーションにコピーすると、正常に動作します。 何か案は?
191 c#  app-config 

10
文字列を分割し、ToList <int>()を1行で変換します
数字の文字列があります string sNumbers = "1,2,3,4,5"; 分割して変換できます List&lt;int&gt; sNumbers.Split( new[] { ',' } ).ToList&lt;int&gt;(); 文字列配列を整数リストに変換するにはどうすればよいですか?に変換できるようstring[]にIEnumerable
191 c#  list  split 

4
連鎖LINQ拡張メソッド呼び出しの 'let'キーワードに相当するコード
C#コンパイラのクエリ理解機能を使用すると、次のようなコードを記述できます。 var names = new string[] { "Dog", "Cat", "Giraffe", "Monkey", "Tortoise" }; var result = from animalName in names let nameLength = animalName.Length where nameLength &gt; 3 orderby nameLength select animalName; 上記のクエリ式では、letキーワードにより、への重複した呼び出しなしに、whereおよびorderby操作に値を転送できますanimalName.Length。 ここで「let」キーワードの機能を実現するLINQ拡張メソッド呼び出しの同等のセットは何ですか?

8
C#コンソールアプリケーションのコンソールウィンドウを表示/非表示にする
自分のコンソールウィンドウを非表示にする方法の情報を探してみました。驚くべきことに、私が見つけた唯一の解決策は、そのタイトルでFindWindow()コンソールウィンドウを見つけることに関与するハッキーな解決策でした。私はWindows APIを少し詳しく調べたところ、はるかに優れた簡単な方法があることがわかったので、他の人が見つけられるようにここに投稿したいと思いました。 自分のC#コンソールアプリケーションに関連付けられているコンソールウィンドウをどのように非表示(および表示)しますか?

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