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

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

6
匿名メソッドで値を返す方法は?
これは失敗します string temp = () => {return "test";}; エラーで デリゲート型ではないため、ラムダ式を型 'string'に変換できません エラーは何を意味し、どうすれば解決できますか?
89 c#  .net  lambda 

3
実行時にC#プロパティを動的に追加する
これに対処するいくつかの質問があることは知っていますが、答えは通常、辞書またはパラメーターのコレクションを推奨するという方針に従っており、私の状況では機能しません。 私は、リフレクションを介して機能するライブラリを使用して、プロパティを持つオブジェクトで多くの巧妙なことを実行しています。これは、動的クラスだけでなく、定義済みクラスでも機能します。私はこれをさらに一歩進めて、これらの線に沿って何かをする必要があります: public static object GetDynamicObject(Dictionary<string,object> properties) { var myObject = new object(); foreach (var property in properties) { //This next line obviously doesn't work... myObject.AddProperty(property.Key,property.Value); } return myObject; } public void Main() { var properties = new Dictionary<string,object>(); properties.Add("Property1",aCustomClassInstance); properties.Add("Property2","TestString2"); var myObject = GetDynamicObject(properties); //Then use them like this …


8
DateTimeをWebUTC形式にフォーマットするにはどうすればよいですか?
" 2009-09-01T00:00:00.000Z"にフォーマットしたいDateTimeがありますが、次のコードで " 2009-09-01T00:00:00.000+01:00"(両方の行)が表示されます。 new DateTime(2009, 9, 1, 0, 0, 0, 0, DateTimeKind.Utc).ToString("yyyy'-'MM'-'dd'T'HH':'mm':'ss'.'fffzzz") new DateTime(2009, 9, 1, 0, 0, 0, 0, DateTimeKind.Utc).ToUniversalTime().ToString("yyyy'-'MM'-'dd'T'HH':'mm':'ss'.'fffzzz") それを機能させる方法はありますか?
89 c#  .net  datetime  utc 

7
10進数の整数部分を取得するための最良の方法
小数の整数部分(c#)を返す最良の方法は何ですか?(これは、intに収まらない可能性のある非常に大きな数に対して機能する必要があります)。 GetIntPart(343564564.4342) >> 343564564 GetIntPart(-323489.32) >> -323489 GetIntPart(324) >> 324 これの目的は次のとおりです。dbの10進数(30,4)フィールドに挿入しており、フィールドに対して長すぎる数値を挿入しようとしないようにしたい。小数の整数部分の長さを決定することは、この操作の一部です。
89 c#  .net  decimal  int 


3
Json.NETを使用して任意のタイプのオブジェクトをJObjectに変換します
WebAPIを使用してクライアントに返す前に、ドメインモデルを追加情報で拡張する必要があることがよくあります。ViewModelの作成を回避するために、追加のプロパティを持つJObjectを返すことができると思いました。ただし、Newtonsoft JSONライブラリを1回呼び出すだけで、任意のタイプのオブジェクトをJObjectに変換する直接的な方法を見つけることができませんでした。私はこのようなものを思いついた: 最初のSerializeObject 次に解析します JObjectを拡張します 例えば。: var cycles = cycleSource.AllCycles(); var settings = new JsonSerializerSettings { ContractResolver = new CamelCasePropertyNamesContractResolver() }; var vm = new JArray(); foreach (var cycle in cycles) { var cycleJson = JObject.Parse(JsonConvert.SerializeObject(cycle, settings)); // extend cycleJson ...... vm.Add(cycleJson); } return vm; 私はこれが正しい方法ですか?
89 c#  .net  json.net 

4
C#のSystem.TypeとSystem.RuntimeTypeの違いは何ですか?
私は今日、いくつかのコンベンションテストを行おうとしていて、Assembly.GetTypes()何かに出くわしたときに、アセンブリ内のすべてのタイプを取得しようとしていました(を呼び出すことによって)。 System.RuntimeType:[First.Namespace.FirstClass] そのタイプをと比較しようとするときはいつでもtypeof(FirstClass)、それらは等しくありません。そのためFirstClass、ジェネリックパラメーターとして含まれているすべての型を検索しようとしても、何も見つかりません。 違いは何だSystem.RuntimeTypeとはSystem.Type? 私の問題を解決する方法はありますか?
89 c#  reflection 

17
現在使用中のため、データベースを削除できません
データベースを削除したい。私は次のコードを使用しましたが、役に立ちませんでした。 public void DropDataBase(string DBName,SqlConnection scon) { try { SqlConnection.ClearAllPools(); SqlCommand cmd = new SqlCommand("ALTER DATABASE " + DBName + " SET SINGLE_USER WITH ROLLBACK IMMEDIATE", scon); cmd.CommandType = CommandType.Text; scon.Open(); cmd.ExecuteNonQuery(); scon.Close(); SqlCommand cmddrpdb = new SqlCommand("drop database " + DBName + "", scon); cmddrpdb.CommandType = CommandType.Text; scon.Open(); cmddrpdb.ExecuteNonQuery(); …
89 c#  asp.net  sql-server 

16
Xamarinフォームに相当するトースト
Xamarin Forms(AndroidまたはiOS固有ではない)を使用して、AndroidがToastで行うように、ユーザーの操作を必要とせず、(短い)期間後に消えるポップアップを表示する方法はありますか? 私が見ているすべての周りの検索から、消えるためにユーザーのクリックを必要とするアラートがあります。

6
ASP.NETCoreでのIPrincipalのモック
単体テストを作成しているASP.NETMVCCoreアプリケーションがあります。アクションメソッドの1つは、一部の機能にユーザー名を使用します。 SettingsViewModel svm = _context.MySettings(User.Identity.Name); これは明らかにユニットテストで失敗します。私は周りを見回しましたが、すべての提案は.NET4.5からモックHttpContextまでです。それを行うためのより良い方法があると確信しています。IPrincipalを注入しようとしましたが、エラーが発生しました。そして私もこれを試しました(必死になって、私は推測します): public IActionResult Index(IPrincipal principal = null) { IPrincipal user = principal ?? User; SettingsViewModel svm = _context.MySettings(user.Identity.Name); return View(svm); } しかし、これもエラーをスローしました。ドキュメントにも何も見つかりませんでした...

11
配列のインデックスは存在しますか
私は仕事で本当に悪臭のあるコードをいくつか受け継いでいます。私は可能な限り最も痛みのない解決策を見つけることを望んでいます。 任意の数が配列の有効な要素であるかどうかを確認する方法はありますか? 例-array [25]が存在するかどうかを確認する必要があります。 できれば、配列を介してforeach()を実行せずにこれを実行して、行を検索することをお勧めします。 これを行う方法はありますか、それともforeachループで立ち往生していますか?
89 c#  arrays  indexing 

4
メソッドの最後でストップウォッチを停止する必要がありますか?
を使用して簡単な測定があると想像してみましょう Stopwatch public void DoWork() { var timer = Stopwatch.StartNew(); // some hard work Logger.Log("Time elapsed: {0}", timer.Elapsed); timer.Stop(); // Do I need to call this? } MSDNによると: 典型的なストップウォッチのシナリオでは、Startメソッドを呼び出し、最後にStopメソッドを呼び出してから、Elapsedプロパティを使用して経過時間を確認します。 タイマーインスタンスに興味がなくなったときに、このメソッドを呼び出す必要があるかどうかはわかりません。Stopメソッドを使用して「クリーンアップ」する必要がありますか? 編集 Logger.Log(..)timer.Elapsedは、ロガーがログに記録する前に読み取られるため、費用がかからないことに注意してください。
89 c#  .net  stopwatch 


15
コンピュータに搭載されているRAMの総量をどのように取得しますか?
C#を使用して、コンピューターに搭載されているRAMの合計量を取得したいと思います。PerformanceCounterを使用すると、次のように設定することで、使用可能なRAMの量を取得できます。 counter.CategoryName = "Memory"; counter.Countername = "Available MBytes"; しかし、メモリの総量を取得する方法を見つけることができないようです。どうすればこれを行うことができますか? 更新: MagicKat:検索中にそれを見ましたが、機能しません-「アセンブリまたは参照がありませんか?」。それをリファレンスに追加しようとしましたが、そこには表示されません。

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