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

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

5
どのように.NETで制御フローを実装して待機するのですか?
yieldキーワードを理解しているように、イテレーターブロック内から使用すると、制御のフローが呼び出し元のコードに戻り、イテレーターが再度呼び出されると、中断したところから再開されます。 また、await呼び出し先を待つだけでなく、呼び出し元に制御を戻し、呼び出し元が中断したところから再開するawaitsがメソッドをたます。 つまり、スレッドはありません。、非同期との「並行性」は、巧妙な制御の流れによって引き起こされる幻想であり、その詳細は構文によって隠されています。 現在、私は以前のアセンブリプログラマであり、命令ポインタやスタックなどに精通しており、通常の制御フロー(サブルーチン、再帰、ループ、分岐)がどのように機能するかを理解しています。しかし、これらの新しい構成要素-私はそれらを取得しません。 にawait到達すると、ランタイムはどのコードが次に実行する必要があるかをどのようにして知るのでしょうか?いつ中断したところから再開できるか、どのようにしてそれをどこで覚えているか?現在のコールスタックはどうなりますか?どういうわけか保存されますか?呼び出し元のメソッドがそれより前に他のメソッド呼び出しを行うとawaitどうなりますか?スタックが上書きされないのはなぜですか?そして、例外が発生してスタックが解放された場合、ランタイムはどのようにしてこれらすべてを処理しますか? yield到達したとき、ランタイムは、物事をピックアップする必要があるポイントをどのように追跡しますか?イテレータの状態はどのように保存されますか?


10
整数の範囲を表すためのC#タイプはありますか?
整数の範囲を保存する必要があります。C#4.0でそのための既存のタイプはありますか? もちろん、私は自分のクラスを書くことができますint Fromし、int Toそれを確実にするために、適切なロジックのプロパティとビルドFrom <= To。ただし、タイプがすでに存在する場合は、もちろんそれを使用します。
105 c# 


4
Inno Setup for Windowsサービス?
.Net Windowsサービスを利用しています。そのWindowsサービスをインストールするインストーラーを作成したいと思います。 基本的には、次のことを行う必要があります。 パックinstallutil.exe(必要ですか?) installutil.exeMyService.exeを実行します。 MyServiceを開始する また、次のコマンドを実行するアンインストーラーを提供したいと思います。 installutil.exe /u MyService.exe Inno Setupを使用してこれらを行う方法?

10
ASP.NET MVC-パラメーターをコントローラーに渡す
次のようなアクションメソッドを持つコントローラーがあります。 public class InventoryController : Controller { public ActionResult ViewStockNext(int firstItem) { // Do some stuff } } そしてそれを実行すると、次のエラーが表示されます。 パラメーターディクショナリに、パラメーター 'firstItem'のタイプ 'System.Int32'の有効な値が含まれていません。パラメータをオプションにするには、その型を参照型またはNullable型にする必要があります。 ある時点で機能していたため、パラメーターなしで関数を試すことにしました。コントローラーが永続的ではないことがわかったので、パラメーターを元に戻しましたが、メソッドを呼び出すときにパラメーターを認識できなくなりました。 このURL構文を使用してアクションを呼び出しています。 http://localhost:2316/Inventory/ViewStockNext/11 このエラーが発生する理由と、それを修正するために何をする必要があるか? 同じ理由で失敗するクラスに整数を取得する別のメソッドを追加しようとしました。文字列を取るものを追加しようとしましたが、文字列はnullに設定されています。パラメータなしで追加してみましたが、問題なく動作しますが、もちろん私のニーズには合いません。
105 c#  asp.net-mvc 

8
列にが含まれている可能性のあるcsvを分割する方法
与えられた 2,1016,7 / 31/2008 14:22、Geoff Dalgas、6/5/2011 22 : 21、http: //stackoverflow.com、 "Corvallis、OR"、7679,351,81、b437f461b3fd27387c5d8ab47a293d35,34 C#を使用して上記の情報を次のように文字列に分割する方法: 2 1016 7/31/2008 14:22 Geoff Dalgas 6/5/2011 22:21 http://stackoverflow.com Corvallis, OR 7679 351 81 b437f461b3fd27387c5d8ab47a293d35 34 ご覧のように、列の1つに、<=(Corvallis、OR)が含まれています // update // C#Regex Splitに基づく -引用符の外のコンマ string[] result = Regex.Split(samplestring, ",(?=(?:[^\"]*\"[^\"]*\")*[^\"]*$)");
105 c#  .net  csv 


8
Asp.Net MVCで「ホームページ」を設定する
asp.net MVCでは、「ホームページ」(つまり、www.foo.comを押したときに表示されるルート)がHome / Indexに設定されています。 この値はどこに保存されますか? 「ホームページ」の変更方法は? ホームコントローラーのインデックスアクションでRedirectToRoute()を使用するよりもエレガントなものはありますか? プロジェクトでHome / Indexのgreppingを試みましたが、参照が見つからず、IISでも何も表示されませんでした(6)。ルートのdefault.aspxページを確認しましたが、関連することは何もないようです。 ありがとう



6
RazorEngine(MVCではない)を使用しているときに未加工のhtmlを出力する方法
HTMLコンテンツを含むメールを生成しようとしています。このコンテンツはすでに衛生状態になっているので、その点については心配していません。 Razor.Parse(template, model); 次のRazorテンプレートで: <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN"> <html> <body> @(new System.Web.HtmlString(Model.EmailContent)) </body> </html> 出力されるメールはHTMlエンコードされていますが、デコードする必要があります。どうすればこれを達成できますか?
105 c#  razor  html-encode 

5
DateTimeオブジェクトの丸め
チャートアプリケーションの日付/時刻を最も近い間隔に丸めたい。次のような拡張メソッドシグネチャを使用して、任意のレベルの精度で丸めを実行できるようにします。 static DateTime Round(this DateTime date, TimeSpan span); アイデアは、10分のタイムスパンを渡すと、最も近い10分の間隔に丸められるということです。私は実装を理解することができず、あなたの1人が以前に同様の何かを書いたり使用したりすることを望んでいます。 床、天井、または最も近い実装のいずれかで結構です。 何か案は? 編集:@tvanfossonと@ShuggyCoUkのおかげで、実装は次のようになります。 public static class DateExtensions { public static DateTime Round(this DateTime date, TimeSpan span) { long ticks = (date.Ticks + (span.Ticks / 2) + 1)/ span.Ticks; return new DateTime(ticks * span.Ticks); } public static DateTime Floor(this DateTime date, TimeSpan …
105 c#  algorithm 

2
それはLinqまたはLambdaですか?
私はこれがLinqであることを知っています。 var _Results = from item in _List where item.Value == 1 select item; そして私はこれがラムダであることを知っています: var _Results = _List.Where(x => x.Value == 1); 編集者注:上記は単なるLambdaではなく、述語がLambdaである「メソッド構文」を使用するLinqです。明確にするために、上記のサンプルはどちらもLinqです(私の元の投稿は正しくありませんでしたが、質問を促す混乱を説明するためにエラーを残しました)。 しかし、LinqはLambdaのサブセットですか? 一見同じように見える技術が2つあるのはなぜですか? どちらか一方を選択する技術的な理由はありますか?
105 c#  linq  lambda 

4
C#ラムダ式をメソッドパラメーターとして渡す
渡して再利用できるようにするラムダ式があります。これがコードです: public List<IJob> getJobs(/* i want to pass the lambda expr in here */) { using (SqlConnection connection = new SqlConnection(getConnectionString())) { connection.Open(); return connection.Query<FullTimeJob, Student, FullTimeJob>(sql, (job, student) => { job.Student = student; job.StudentId = student.Id; return job; }, splitOn: "user_id", param: parameters).ToList<IJob>(); } ここで重要なのは、ここで使用しているラムダ式を、このコードを呼び出すメソッドに渡して、再利用できるようにすることです。ラムダ式は、.Queryメソッド内の2番目の引数です。ActionまたはFuncを使用したいと思いますが、これの構文が何であるか、またはそれがどのように機能するかはよくわかりません。誰か私に例を挙げてもらえますか?
105 c#  linq  lambda 

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