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

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

5
C#で「in」パラメータ修飾子を使用するのはなぜですか?
だから、私は(私が思うに)inパラメータ修飾子が何をするのか理解しています。しかし、それが行うことはかなり冗長であるように見えます。 通常、aを使用する唯一の理由refは、呼び出し変数を変更することであると思いますin。これは、によって明示的に禁止されています。したがって、in参照による受け渡しは、値による受け渡しと論理的に同等のようです。 パフォーマンス上の利点はありますか?物事のバックエンド側では、refパラメーターは少なくとも変数の物理アドレスをコピーする必要があると私は信じていました。これは、一般的なオブジェクト参照と同じサイズである必要があります。 それでは、大きな構造体だけに利点があるのでしょうか、それとも他の場所で魅力的なものにする舞台裏のコンパイラ最適化があるのでしょうか。後者の場合、なぜすべてのパラメーターをaにするべきではないのinですか?
86 c#  c#-7.2 

6
Uri.HostとUri.Authorityの違いは何ですか
System.Uri持っているHost、AuthorityとDnsSafeHost。MSは、ここでいつHostとDnsSafeHostが異なるかについての良い例を提供します。 私はのための同様の例/説明が欲しいHostとAuthority。
86 c#  .net  uri 


11
nullをチェックし、そうでない場合は別の値を割り当てる最短の方法
私が引っ張っていvarcharDBから値をし、設定したいstring、彼らがしている場合、私は「」とに割り当てるいますnull。私は現在このようにやっています: if (string.IsNullOrEmpty(planRec.approved_by) == true) this.approved_by = ""; else this.approved_by = planRec.approved_by.toString(); これを1行で行う方法は次のようになります。 this.approved_by = "" || planRec.approved_by.toString(); しかし、これを行うための最適な方法を見つけることができません。より良い方法はありますか、それとも私がそれを行うための最良の方法がありますか?

9
プラスサインインクエリ文字列
C#とasp.netを使用して作成されたWebアプリがあります。プラス(+)記号を使用してクエリ文字列にパラメータ値を配置しました。しかし、プラス記号は消えます。 消えることなくクエリ文字列にプラス記号(+)を含めるにはどうすればよいですか? お知らせ下さい。 ありがとう。 編集:UrlEncodeでコードを追加 string str = Server.UrlEncode(Requery.QueryString["new"]);
86 c#  javascript  asp.net 

3
?[]とは何ですか?C#の構文?
で実際に抽象クラスであるデリゲートを研究しているときに、Delegate.cs理解できない次のメソッドを見ました 戻り値が?すでにreference(class)型であるにもかかわらず使用する理由 ?[]? パラメータの意味 説明してもらえますか? public static Delegate? Combine(params Delegate?[]? delegates) { if (delegates == null || delegates.Length == 0) return null; Delegate? d = delegates[0]; for (int i = 1; i < delegates.Length; i++) d = Combine(d, delegates[i]); return d; }



7
WPFのWebBrowserのSourceプロパティをdatabindします
WPF(3.5SP1)でWebBrowserの.Sourceプロパティをデータバインドする方法を知っている人はいますか?左側に小さなWebBrowser、右側にコンテンツを配置し、各WebBrowserのソースをリストアイテムにバインドされた各オブジェクトのURIにデータバインドするリストビューがあります。 これは私がこれまでの概念実証として持っているものですが、「<WebBrowser Source="{Binding Path=WebAddress}"」はコンパイルされません。 <DataTemplate x:Key="dealerLocatorLayout" DataType="DealerLocatorAddress"> <StackPanel Orientation="Horizontal"> <!--Web Control Here--> <WebBrowser Source="{Binding Path=WebAddress}" ScrollViewer.HorizontalScrollBarVisibility="Disabled" ScrollViewer.VerticalScrollBarVisibility="Disabled" Width="300" Height="200" /> <StackPanel Orientation="Vertical"> <StackPanel Orientation="Horizontal"> <Label Content="{Binding Path=CompanyName}" FontWeight="Bold" Foreground="Blue" /> <TextBox Text="{Binding Path=DisplayName}" FontWeight="Bold" /> </StackPanel> <TextBox Text="{Binding Path=Street[0]}" /> <TextBox Text="{Binding Path=Street[1]}" /> <TextBox Text="{Binding Path=PhoneNumber}"/> <TextBox Text="{Binding Path=FaxNumber}"/> …
85 c#  wpf  xaml  data-binding  browser 


3
クロージャ警告のforeach変数へのアクセス
次の警告が表示されます。 クロージャ内のforeach変数へのアクセス。異なるバージョンのコンパイラでコンパイルすると、動作が異なる場合があります。 これは私のエディターでどのように見えるかです: この警告を修正する方法は知っていますが、なぜこの警告が表示されるのか知りたいのですが。 これは「CLR」バージョンについてですか?「IL」と関係がありますか?
85 c#  .net 

10
C#スレッドの終了とThread.Abort()
MSDNでは、Thread.Abort()メソッドの説明に次のように記載されています。「このメソッドを呼び出すと、通常はスレッドが終了します。」 なぜいつもではないのですか? どちらの場合、スレッドは終了しませんか? スレッドを終了する他の可能性はありますか?

12
ネストされたループのより高速な代替手段?
数字の組み合わせのリストを作成する必要があります。数が非常に少ないので、byteではなく使用できますint。ただし、考えられるすべての組み合わせを取得するには、多くのネストされたループが必要です。私が求めていることを行うためのより効率的な方法があるかどうか疑問に思っています。これまでのコードは次のとおりです。 var data = new List<byte[]>(); for (byte a = 0; a < 2; a++) for (byte b = 0; b < 3; b++) for (byte c = 0; c < 4; c++) for (byte d = 0; d < 3; d++) for (byte e = 0; e < 4; …
85 c#  combinations 

9
キャッチブロックで待つ
私は次のコードを持っています: WebClient wc = new WebClient(); string result; try { result = await wc.DownloadStringTaskAsync( new Uri( "http://badurl" ) ); } catch { result = await wc.DownloadStringTaskAsync( new Uri( "http://fallbackurl" ) ); } 基本的にはURLからダウンロードしたいのですが、例外で失敗したら別のURLからダウンロードしたいです。もちろん、両方の時間は非同期です。ただし、コードはコンパイルされません。 エラーCS1985:catch句の本文で待機できません OK、なんらかの理由で禁止されていますが、ここでの正しいコードパターンは何ですか? 編集: 幸いなことに、C#6.0では、catchとfinallyブロックの両方で待機呼び出しが許可される可能性があります。

10
C#値型をnullと比較しても大丈夫
私は今日これに遭遇しましたが、C#コンパイラがエラーをスローしない理由がわかりません。 Int32 x = 1; if (x == null) { Console.WriteLine("What the?"); } xがnullになる可能性があるかどうかについて私は混乱しています。特に、この割り当ては間違いなくコンパイラエラーをスローするためです。 Int32 x = null; xがnullになる可能性はありますか、Microsoftはこのチェックをコンパイラに入れないことを決定しただけですか、それとも完全に見逃されていましたか? 更新:この記事を書くためのコードをいじった後、突然、コンパイラーは式が真になることはないという警告を出しました。今、私は本当に迷っています。オブジェクトをクラスに入れましたが、警告は消えましたが、質問が残っています。値型がnullになる可能性があります。 public class Test { public DateTime ADate = DateTime.Now; public Test () { Test test = new Test(); if (test.ADate == null) { Console.WriteLine("What the?"); } } }
85 c#  null 

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