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

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


7
C#の特定のタイムゾーンでのDateTimeの作成
タイムゾーンが誤って設定されて修正されたために、マシンでタイムゾーンが変更された場合のケースをテストする単体テストを作成しようとしています。 テストでは、どのローカルタイムゾーンでもDateTimeオブジェクトを作成して、テストの実行者がそれらの場所に関係なく正常に実行できるようにする必要があります。 DateTimeコンストラクターから確認できることから、TimeZoneをローカルタイムゾーン、UTCタイムゾーン、または指定しないのいずれかに設定できます。 PSTなどの特定のタイムゾーンでDateTimeを作成するにはどうすればよいですか?
162 c#  .net  datetime  timezone  .net-3.5 

23
Excel「外部テーブルは予期された形式ではありません。」
以下のコードを使用してExcel(xlsx)ファイルを読み取ろうとしています。「外部テーブルが予期された形式ではありません。」というメッセージが表示されます。Excelでファイルを開いていない限り、エラーになります。つまり、C#プログラムから読み取る場合は、まずExcelでファイルを開く必要があります。xlsxファイルは、ネットワーク上の共有にあります。最初に開かずにファイルを読み取るにはどうすればよいですか?ありがとう string sql = "SELECT * FROM [Sheet1$]"; string excelConnection = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" + pathname + ";Extended Properties=\"Excel 8.0;HDR=YES;IMEX=1;\""; using (OleDbDataAdapter adaptor = new OleDbDataAdapter(sql, excelConnection)) { DataSet ds = new DataSet(); adaptor.Fill(ds); }

2
161803398は「特別な」番号ですか?Math.Random()の内部
答えは「数学のため」ではないかと思いますが、誰かが基本的なレベルでもう少し洞察を与えてくれることを望んでいました... 今日は、BCLソースコードをざっと見て、以前に使用したクラスの一部が実際にどのように実装されているかを確認しました。(疑似)乱数を生成する方法についてこれまで考えたことがないので、どうやってそれを行うかを確認することにしました。 ここで完全なソース:http : //referencesource.microsoft.com/#mscorlib/system/random.cs#29 private const int MSEED = 161803398; このMSEED値は、Random()クラスがシードされるたびに使用されます。 とにかく、私はこの「マジックナンバー」-161803398-を見ました、そして私はそのナンバーが選ばれた理由について最も曖昧な考えを持っていません。これは素数でも2の累乗でもありません。より重要であるように見える数の「中間」ではありません。私はそれを2進数と16進数で見て、まあ、それは私には数のように見えました。 Googleで番号を検索してみましたが、何も見つかりませんでした。
162 c#  .net  algorithm  random 

13
.NET構成(app.config / web.config / settings.settings)
デバッグビルドとリリースビルドの構成ファイルが異なる.NETアプリケーションがあります。たとえば、デバッグapp.configファイルは、デバッグが有効になっている開発SQL Serverを指し、リリースターゲットはライブSQL Serverを指します。他の設定もあり、その一部はデバッグ/リリースで異なります。 現在、2つの個別の構成ファイル(debug.app.configとrelease.app.config)を使用しています。プロジェクトにビルドイベントがあり、これがリリースビルドである場合は、release.app.configをapp.configにコピーします。それ以外の場合は、debug.app.configをapp.configにコピーします。 問題は、アプリケーションがsettings.settingsファイルから設定を取得しているように見えるため、Visual Studioでsettings.settingsを開き、設定が変更されたことを通知するので、変更を受け入れ、settings.settingsを保存し、正しい設定を使用するように再構築します。 同様の効果を達成するためのより良い/推奨/推奨される方法はありますか?または同様に、私はこれを完全に間違ってアプローチしましたか?そしてより良いアプローチがありますか?

9
共分散と反分散の実世界の例
現実の世界で共分散と反変をどのように使用するかを理解するのに少し問題があります。 これまでのところ、私が見た唯一の例は、同じ古い配列の例です。 object[] objectArray = new string[] { "string 1", "string 2" }; それが他の場所で使用されているのを見ることができれば、開発中にそれを使用できるようにする例を見るとよいでしょう。
162 c#  c#-4.0  covariance 

12
文字列配列に値が含まれているかどうかを確認し、含まれている場合はその位置を取得する
私はこの文字列配列を持っています: string[] stringArray = { "text1", "text2", "text3", "text4" }; string value = "text3"; stringArrayが含まれているかどうかを確認したいと思いますvalue。もしそうなら、私は配列内のその位置を見つけたいです。 ループを使いたくありません。誰もが私がこれをどのように行うかを提案できますか?
162 c#  arrays  string 

4
ASP.NET Identityのデフォルトのパスワードハッシャー-どのように機能し、安全ですか?
MVC 5とASP.NET Identity Frameworkに付属するUserManagerにデフォルトで実装されているPassword Hasherが十分に安全かどうか疑問に思っています。もしそうなら、それがどのように機能するかを私に説明できますか? IPasswordHasherインターフェイスは次のようになります。 public interface IPasswordHasher { string HashPassword(string password); PasswordVerificationResult VerifyHashedPassword(string hashedPassword, string providedPassword); } ご覧のように、ソルトは使用しませんが、このスレッドで言及されています: " Asp.net Identity password hashing "は、バックグラウンドでソルトを実行します。それで、これはどのように行われるのでしょうか?そして、この塩はどこから来たのですか? 私の懸念は、塩が静的であり、非常に安全ではないことです。

7
WebAPIクライアントで呼び出しごとに新しいHttpClientを作成するオーバーヘッドは何ですか?
HttpClientWebAPIクライアントの存続期間はどうあるべきですか?複数の呼び出しに対しての インスタンスを1つ持つ方が良いHttpClientですか? HttpClient以下の例のように、リクエストごとに作成および破棄するオーバーヘッドは何ですか(http://www.asp.net/web-api/overview/web-api-clients/calling-a-web-api-from-から取得)a-net-client): using (var client = new HttpClient()) { client.BaseAddress = new Uri("http://localhost:9000/"); client.DefaultRequestHeaders.Accept.Clear(); client.DefaultRequestHeaders.Accept.Add(new MediaTypeWithQualityHeaderValue("application/json")); // New code: HttpResponseMessage response = await client.GetAsync("api/products/1"); if (response.IsSuccessStatusCode) { Product product = await response.Content.ReadAsAsync<Product>(); Console.WriteLine("{0}\t${1}\t{2}", product.Name, product.Price, product.Category); } }

2
文字列の配列をList <string>に変換します
私はこれ.ToList()を配列型で使用した例を見てきましたが、これは.Net 3.5以降でのみ利用できるようです。現時点ではアップグレードできないASP.NETプロジェクトで.NET Framework 2.0を使用しているので、別の解決策はありますか?配列をループして各要素をこのリストに追加するよりもエレガントなもの(これは問題ありません。学習目的のためのより良い解決策があるかどうか疑問に思っています)? string[] arr = { "Alpha", "Beta", "Gamma" }; List&lt;string&gt; openItems = new List&lt;string&gt;(); foreach (string arrItem in arr) { openItems.Add(arrItem); } この方法で行う必要がある場合、リストにコピーした後、残存配列をメモリから割り当て解除する方法はありますか?
162 c#  c#-2.0 

12
タイプがプリミティブかどうかをテストする方法
タイプをHtmlタグにシリアル化するコードのブロックがあります。 Type t = typeof(T); // I pass &lt;T&gt; in as a paramter, where myObj is of type T tagBuilder.Attributes.Add("class", t.Name); foreach (PropertyInfo prop in t.GetProperties()) { object propValue = prop.GetValue(myObj, null); string stringValue = propValue != null ? propValue.ToString() : String.Empty; tagBuilder.Attributes.Add(prop.Name, stringValue); } 私はそれが唯一のプリミティブ型、などのためにこれをしたい除いて、これは素晴らしい作品int、double、bool原始的ではないが、同様に簡単にシリアル化できるなど、および他のタイプstring。リストやその他のカスタムタイプなど、他のすべてを無視するようにします。 誰も私がこれをどのように行うか提案できますか?または、どこかで許可するタイプを指定し、プロパティのタイプをオンにして、許可されているかどうかを確認する必要がありますか?それは少し面倒なので、私がもっときちんとした方法があったらいいでしょう。

4
非同期/待機とBackgroundWorker
過去数日間、.net 4.5とc#5の新機能をテストしました。 新しい非同期/待機機能が気に入っています。以前、BackgroundWorkerを使用して、応答性の高いUIでバックグラウンドでより長いプロセスを処理していました。 私の質問は次のとおりです。これらの素晴らしい新機能を使用した後、いつasync / awaitを使用する必要があり、いつBackgroundWorkerを使用しますか?両方に共通するシナリオはどれですか?

8
ストリームを文字列に変換して戻す…何が欠けているのですか?
オブジェクトを文字列にシリアル化したい。 protobuf-netを使用して、オブジェクトをストリームに変換し、正常に戻します。 ただし、文字列にストリーミングして戻る...それほど成功していません。StreamToStringおよびを通過したStringToStream後、新しいものStreamはprotobuf-netによってデシリアライズされません。Arithmetic Operation resulted in an Overflow例外が発生します。元のストリームを逆シリアル化する場合、それは機能します。 私たちの方法: public static string StreamToString(Stream stream) { stream.Position = 0; using (StreamReader reader = new StreamReader(stream, Encoding.UTF8)) { return reader.ReadToEnd(); } } public static Stream StringToStream(string src) { byte[] byteArray = Encoding.UTF8.GetBytes(src); return new MemoryStream(byteArray); } これら2つを使用したコード例: MemoryStream stream = new MemoryStream(); …

8
C#の匿名型をJSON文字列にシリアル化するにはどうすればよいですか?
次のコードを使用して、匿名型をJSONにシリアル化しようとしています。 var serializer = new DataContractJsonSerializer(thing.GetType()); var ms = new MemoryStream(); serializer.WriteObject(ms, thing); var json = Encoding.Default.GetString(ms.ToArray()); ただし、これを実行すると次の例外が発生します。 タイプ '&lt;&gt; f__AnonymousType1`3 [System.Int32、System.Int32、System.Object []]'はシリアル化できません。これをDataContractAttribute属性でマークし、シリアル化するすべてのメンバーをDataMemberAttribute属性でマークすることを検討してください。サポートされている他のタイプについては、Microsoft .NET Frameworkのドキュメントを参照してください。 (私の知る限り)匿名型に属性を適用することはできません。このシリアル化を行う別の方法はありますか、それとも何か不足していますか?

6
ASP.NET Core MVCでタグヘルパーを選択します
ASP.NET Coreのselectタグヘルパーのヘルプが必要です。 選択タグヘルパーにバインドしようとしている従業員のリストがあります。私の従業員はaに属しており、List&lt;Employee&gt; EmployeesList選択された値はEmployeeId財産になります。私のビューモデルは次のようになります。 public class MyViewModel { public int EmployeeId { get; set; } public string Comments { get; set; } public List&lt;Employee&gt; EmployeesList {get; set; } } 私の従業員クラスは次のようになります: public class Employee { public int Id { get; set; } public string FullName { get; set; } } 私の質問は、ドロップダウンリストにId表示するときFullNameに、値としてを使用するように選択タグヘルパーにどのように指示するのですか? …

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