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

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

15
app.config / web.config内の変数
app.configまたはweb.configファイルで次のようなことをすることは可能ですか? <appSettings> <add key="MyBaseDir" value="C:\MyBase" /> <add key="Dir1" value="[MyBaseDir]\Dir1"/> <add key="Dir2" value="[MyBaseDir]\Dir2"/> </appSettings> 次に、コードでDir2にアクセスしたいだけです。 ConfigurationManager.AppSettings["Dir2"] これは、アプリケーションを別のサーバーや場所にインストールするときに役立ちますapp.config。変更する必要があるのは、全体で1つのエントリだけです。(私はコードですべての連結を管理できることを知っていますが、私はこのようにそれを好みます)。


4
try / catch / finallyで待つための良い解決策はありますか?
次のように例外を(スタックトレースとともに)再度スローする前asyncに、catchブロック内のメソッドを呼び出す必要があります。 try { // Do something } catch { // <- Clean things here with async methods throw; } ただし、残念ながらawait、catchまたはfinallyブロックでは使用できません。それは、コンパイラーがcatchブロック内に戻ってawait命令の後にあるものを実行する方法がないためだと学びました... を使用Task.Wait()して交換しようとしたawaitところ、デッドロックが発生しました。これを回避する方法をウェブで検索して、このサイトを見つけました。 asyncメソッドを変更することも、使用するかどうかもわからないため、別のスレッドで(デッドロックを回避するために)非同期メソッドを開始し、その完了を待機するConfigureAwait(false)これらのメソッドを作成Func<Task>しました。 public static void AwaitTaskSync(Func<Task> action) { Task.Run(async () => await action().ConfigureAwait(false)).Wait(); } public static TResult AwaitTaskSync<TResult>(Func<Task<TResult>> action) { return Task.Run(async () => await action().ConfigureAwait(false)).Result; } public static void …

13
条件付きLinqクエリ
ログビューアに取り組んでいます。使用には、ユーザー、重大度などでフィルターするオプションがあります。SQLの日にはクエリ文字列に追加しますが、Linqでそれを実行したいと考えています。条件付きでwhere句を追加するにはどうすればよいですか?

3
コンソールアプリケーションC#のApp.Configファイル
ファイルの名前を書きたいコンソールアプリケーションがあります。 Process.Start("blah.bat"); 通常、私は、ファイルの名前を書き込むことによって、Windowsアプリケーションではそのような何かを持っているでしょう'blah.bat'に設定でファイルのプロパティ。 ただし、ここでは設定ファイルが見つからず、同じ目的でapp.configを追加しました。 ここでapp.configに何を書けばよいのかわかりません。WindowsFormsの場合と同様のことを達成することにつながります。 例:Windowsフォーム。Process.Start(Properties.Settings.Default.BatchFile); どこBatchFileのプロパティの設定ファイル内の文字列です。
92 c#  console 

9
.NETの「クランプ」機能はどこにありますか?
値xを範囲にクランプしたい[a, b]: x = (x < a) ? a : ((x > b) ? b : x); これは非常に基本的です。しかし、クラスライブラリに「clamp」という関数はありませんSystem.Math。少なくともにはありません。 (知らないうちに値を「クランプ」することは、いくつかの最大値と最小値の間にあることを確認することです。それが最大値より大きい場合、最大値などに置き換えられます。)
92 c#  clamp 

5
すべてを削除する正規表現(非数値ORピリオド)
「joe($ 3,004.50)」のようなテキストを3004.50までフィルタリングする必要がありますが、正規表現ではひどく、適切な解決策を見つけることができません。したがって、数値と期間のみが残る必要があります-他はすべてフィルタリングされます。C#とVS.net 2008 Framework 3.5を使用しています
92 c#  regex 

6
null可能なintをシリアル化する
null可能なintを持つクラスがありますか?xml要素としてシリアル化するように設定されたデータ型。値がnullの場合にXMLシリアライザーが要素をシリアル化しないように設定する方法はありますか? [System.Xml.Serialization.XmlElement(IsNullable = false)]属性を追加しようとしましたが、「IsNullableが 'falseに設定されていない可能性があるため、タイプを反映するエラーがあったことを示すランタイムシリアル化例外が発生します。 'Nullableタイプの場合。'System.Int32'タイプを使用するか、XmlElement属性からIsNullableプロパティを削除することを検討してください。 [Serializable] [System.Xml.Serialization.XmlRoot("Score", Namespace = "http://mycomp.com/test/score/v1")] public class Score { private int? iID_m; ... /// <summary> /// /// </summary> public int? ID { get { return iID_m; } set { iID_m = value; } } ... } 上記のクラスは次のようにシリアル化されます: <Score xmlns="http://mycomp.com/test/score/v1"> <ID xsi:nil="true" /> </Score> しかし、nullのIDの場合、ID要素はまったく必要ありません。これは、主にMSSQLでOPENXMLを使用すると、次のような要素に対してnullの代わりに0が返されるためです。
92 c#  .net  xml  serialization 

5
web.configファイルのappSettingsセクションを読み取る方法は?
私のXMLは次のようになり、ファイル名は web.config <?xml version="1.0"?> <configuration> <appSettings> <add key="configFile" value="IIS.config"/> <add key="RialtoDomain" value="ASNC_AUDITORS"/> </appSettings> <system.serviceModel> .... </system.serviceModel> </configuration> このように読んだときのコード String path = ConfigurationSettings.AppSettings["configFile"]; null値を取得しています。例外はスローされません。これは正しい方法ですか?
92 c#  asp.net  web-config 

3
終わりのないタスクを実装するための適切な方法。(タイマーvsタスク)
そのため、私のアプリは、アプリが実行されているか、キャンセルが要求されている限り、ほぼ連続的に(実行ごとに10秒程度の休止を置いて)アクションを実行する必要があります。必要な作業には、最大30秒かかる可能性があります。 System.Timers.Timerを使用し、AutoResetを使用して、前の「ティック」が完了する前にアクションが実行されないようにすることをお勧めします。 または、キャンセルトークンを使用してLongRunningモードで一般的なタスクを使用し、呼び出しの間に10秒間のThread.Sleepを使用してアクションを実行するアクションを呼び出す通常の無限whileループを含める必要がありますか?非同期/待機モデルについては、作業からの戻り値がないため、ここが適切かどうかはわかりません。 CancellationTokenSource wtoken; Task task; void StopWork() { wtoken.Cancel(); try { task.Wait(); } catch(AggregateException) { } } void StartWork() { wtoken = new CancellationTokenSource(); task = Task.Factory.StartNew(() => { while (true) { wtoken.Token.ThrowIfCancellationRequested(); DoWork(); Thread.Sleep(10000); } }, wtoken, TaskCreationOptions.LongRunning); } void DoWork() { // Some work that takes …

8
C#で変数のデータ型を取得するにはどうすればよいですか?
変数が保持しているデータ型を確認するにはどうすればよいですか?(例:int、string、charなど) 私は今このようなものを持っています: using System; using System.Collections.Generic; using System.Linq; using System.Text; namespace Testing { class Program { static void Main() { Person someone = new Person(); someone.setName(22); int n = someone.getName(); Console.WriteLine(n.typeOf()); } } class Person { public int name; public void setName(int name) { this.name = name; } public int …
92 c#  types 

6
C#での内部とパブリック
publicとinternal可視性修飾子の違いを知りたい。 internalクラスでいつ使用する必要がありpublicますか?私は方法があるべきときに混乱していますpublicかinternal。 internalアセンブリからアクセスできることを読みましたがpublic、違いがあるアセンブリからも使用できます。
92 c#  .net 

12
ゲッター、セッター、プロパティのベストプラクティス。JavaとC#
私は今C#クラスを取得しており、最善の方法を見つけようとしています。私はJavaの出身なので、Javaのベストプラクティスにのみ精通しています。私はC#初心者です! Javaでは、プライベートプロパティがある場合はこれを行います。 private String name; public void setName(String name) { this.name = name; } public String getName() { return this.name; } C#では、これを行うには多くの方法があることがわかります。 私はJavaのようにそれを行うことができます: private string name; public void setName(string name) { this.name = name; } public string getName() { return this.name; } または私はこのようにそれを行うことができます: private string name; public string Name { …

12
ヌル合体演算子の「反対」はありますか?(…任意の言語で?)
nullの合体は、おおよそ return x, unless it is null, in which case return y 私はしばしば必要です return null if x is null, otherwise return x.y 私は使えます return x == null ? null : x.y; 悪くはありませんが、nullその真ん中はいつも私を悩ませます-それは不必要に思えます。return x :: x.y;次のようなものは、その::前にあるものが評価されない場合にのみ評価されるようなものを好みますnull。 私はこれを見るほぼ【種類簡潔との混合での、ヌル合体とは反対側、インラインヌルチェック、私はよほとんど ]特定のC#には、オペレータがないこと。 そのような演算子を持つ他の言語はありますか?もしそうなら、それは何と呼ばれていますか? (私はそのメソッドをC#で記述できることを知っています。私はを使用しreturn NullOrValue.of(x, () => x.y);ますが、もっと良いものがあれば、それも見たいと思います。)

7
サードパーティのライブラリを使用せずにC#でログインするにはどうすればよいですか?[閉まっている]
休業。この質問には、より焦点を当てる必要があります。現在、回答を受け付けていません。 この質問を改善してみませんか?質問を更新して、この投稿を編集するだけで1つの問題に焦点を当てます。 昨年休業。 この質問を改善する アプリケーションにロギングを実装したいのですが、log4netのような外部フレームワークは使用しません。 それで、DOSのファイルへのエコーのようなことをしたいと思います。それを行う最も効果的な方法は何ですか? 外部フレームワークを使用せずにログに記録された未処理の例外をログに記録する方法はありますか?

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