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

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

18
SqlParameterにnullを割り当てる
次のコードは、「DBnullからintへの暗黙の変換はありません」というエラーを出します。 SqlParameter[] parameters = new SqlParameter[1]; SqlParameter planIndexParameter = new SqlParameter("@AgeIndex", SqlDbType.Int); planIndexParameter.Value = (AgeItem.AgeIndex== null) ? DBNull.Value : AgeItem.AgeIndex; parameters[0] = planIndexParameter;
188 c#  dbnull  sqlparameter 




19
依存DLLがVisual Studioのビルド出力フォルダーにコピーされない
ビジュアルスタジオソリューションがあります。ソリューションには多くのプロジェクトがあります。スタートアップとして機能し、他のプロジェクトを使用する1つのメインプロジェクトがあります。「ProjectX」というプロジェクトが1つあります。その参照がメインプロジェクトに追加されます。ProjectXは、ソリューションの一部ではない別の.NET dll(たとえば、abc.dll)を参照します。 これで、このabc.dllはメインプロジェクトのbin / debugフォルダーにコピーされますが、そこにはコピーされません。既知の理由でコピーされないのはなぜですか?

6
同期接続にHttpClientを使用する理由
APIと対話するためのクラスライブラリを構築しています。APIを呼び出してXML応答を処理する必要があります。HttpClient非同期接続に使用することの利点はわかりますが、私がしていることは純粋に同期であるため、を使用することよりも大きな利点はありませんHttpWebRequest。 誰かが光を当てることができれば私はそれを大いに感謝します。私はそれのために新しいテクノロジーを使用するためのものではありません。

18
C#ユーザーがフォルダーへの書き込みアクセス権を持っているかどうかをテストする
ユーザーがフォルダーに書き込むことができるかどうかを実際に試す前にテストする必要があります。 Directory.GetAccessControl()メソッドを使用してフォルダーのセキュリティ権限を取得しようとする次のメソッド(C#2.0)を実装しました。 private bool hasWriteAccessToFolder(string folderPath) { try { // Attempt to get a list of security permissions from the folder. // This will raise an exception if the path is read only or do not have access to view the permissions. System.Security.AccessControl.DirectorySecurity ds = Directory.GetAccessControl(folderPath); return true; } catch …

15
.NETでの使用後にオブジェクトをNull / Nothingに設定する
それらを使い終わったら、すべてのオブジェクトをnull(NothingVB.NETで)に設定する必要がありますか? .NETでは、IDisposable一部のリソースを解放するためにインターフェースを実装するオブジェクトのインスタンスを破棄することが不可欠であると理解しisDisposedています。メモリまたは少なくとも部分的に? また、オブジェクトがスコープから外れると、ガベージコレクターの次のパスの準備ができるようにマークされます(ただし、これには時間がかかる場合があります)。 したがって、これを念頭に置いnullて、システムがメモリを解放する速度を上げるように設定すると、それがスコープ内になく、悪い副作用があるかどうかを確認する必要がなくなります。 MSDNの記事では例ではこれを行っていません。現在、害を確認できないため、これを行っています。しかし、私は意見の混合に遭遇したので、コメントは役に立ちます。

22
「WaitForExit」にぶら下がっているProcessStartInfo?どうして?
私は次のコードを持っています: info = new System.Diagnostics.ProcessStartInfo("TheProgram.exe", String.Join(" ", args)); info.CreateNoWindow = true; info.WindowStyle = System.Diagnostics.ProcessWindowStyle.Hidden; info.RedirectStandardOutput = true; info.UseShellExecute = false; System.Diagnostics.Process p = System.Diagnostics.Process.Start(info); p.WaitForExit(); Console.WriteLine(p.StandardOutput.ReadToEnd()); //need the StandardOutput contents 私が開始しているプロセスからの出力が約7MBであることを知っています。Windowsコンソールで実行すると問題なく動作します。残念ながら、これはプログラム上、WaitForExitで無期限にハングします。これは、より小さな出力(3KBなど)の場合、コードがハングしないことにも注意してください。 ProcessStartInfoの内部StandardOutputが7MBをバッファリングできない可能性はありますか?もしそうなら、代わりに私は何をすべきですか?そうでない場合、私は何を間違っていますか?

23
SqlCommandオブジェクトから生成されたSQLステートメントを取得しますか?
私は次のコードを持っています: Using cmd As SqlCommand = Connection.CreateCommand cmd.CommandText = "UPDATE someTable SET Value = @Value" cmd.CommandText &= " WHERE Id = @Id" cmd.Parameters.AddWithValue("@Id", 1234) cmd.Parameters.AddWithValue("@Value", "myValue") cmd.ExecuteNonQuery End Using 最終的なSQLステートメントを文字列として取得する方法はあるのでしょうか。これは次のようになります。 UPDATE someTable SET Value = "myValue" WHERE Id = 1234 なぜ私がこれをするのか不思議に思ったら: (失敗した)ステートメントのロギング テストのためにEnterprise Managerにコピーして貼り付ける可能性があるため
186 c#  vb.net  ado.net 

12
C#バイナリリテラル
16進数の前に0xを付けるなど、C#でバイナリリテラルを書き込む方法はありますか?0bは機能しません。 そうでない場合、それを行う簡単な方法は何ですか?ある種の文字列変換?
186 c#  syntax  binary 

10
C#で文字列に文字のみが含まれていることを確認する
入力文字列があり、それが含まれていることを確認したい: 文字のみまたは 文字と数字のみまたは 文字、数字、またはアンダースコアのみ 明確にするために、コードには3つの異なるケースがあり、それぞれ異なる検証が必要です。これをC#で実現する最も簡単な方法は何ですか?
186 c#  string 


8
2つの日時値の差を時間で表示
データベースから2つの日時値を取得しています。値を取得したら、2つの値の差が必要です。そのために、2つの日付値の差を格納するタイムスパン変数を作成します。 TimeSpan? variable = datevalue1 - datevalue2; 次に、Timespan変数に格納されている違いを時間数で示す必要があります。TimeSpan.TotalHoursを参照しましたが、何らかの理由で同じことを適用できませんでした。それ、どうやったら出来るの?MVCプロジェクトでC#を使用しています。差分値を時間単位で表示する必要があるだけですか? 編集:タイムスパンがnull可能だったので、合計時間プロパティを使用できませんでした。これで、TimeSpanVal.Value.TotalHoursを実行して使用できます。


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