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

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

11
.netコアのappsettings.jsonから値を取得する
ここで何が欠けているのかわかりませんが、.netコアアプリケーションのappsettings.jsonから値を取得できません。私は私のappsettings.jsonを次のようにしています: { "AppSettings": { "Version": "One" } } 起動: public class Startup { private IConfigurationRoot _configuration; public Startup(IHostingEnvironment env) { _configuration = new ConfigurationBuilder() } public void ConfigureServices(IServiceCollection services) { //Here I setup to read appsettings services.Configure<AppSettings>(_configuration.GetSection("AppSettings")); } } モデル: public class AppSettings { public string Version{ get; set; } …

12
StringBuilderと同じくらい効率的なString.Formatです。
これを行うC#の文字列ビルダーがあるとします。 StringBuilder sb = new StringBuilder(); string cat = "cat"; sb.Append("the ").Append(cat).(" in the hat"); string s = sb.ToString(); それは次のものと同じくらい効率的ですか、それとももっと効率的ですか? string cat = "cat"; string s = String.Format("The {0} in the hat", cat); もしそうなら、なぜですか? 編集 いくつか興味深い答えを見つけた後、私はおそらく私が求めていることをもう少し明確にすべきであることに気づきました。文字列を連結する方が速いのではなく、ある文字列を別の文字列に挿入する方が速いのではないかと私はそれほど質問していませんでした。 上記のどちらの場合でも、事前定義されたテンプレート文字列の中央に1つ以上の文字列を挿入します。 混乱させて申し訳ありません

6
リソースのDisplayName属性?
ローカライズされたアプリケーションがありDisplayName、Resourceから特定のモデルプロパティを設定できるかどうか疑問に思っています。 私はこのようなことをしたいと思います: public class MyModel { [Required] [DisplayName(Resources.Resources.labelForName)] public string name{ get; set; } } しかし、コンパイラが言うように、私はそれをすることができません:「属性引数は、定数式、typeof式、または属性パラメーター型の配列作成式でなければなりません」:( 回避策はありますか?ラベルを手動で出力していますが、バリデーターの出力にこれらが必要です!

15
数値インデックスを介してDictionary.Keysキーにアクセスする
私は、キーの数であるDictionary<string, int>where を使用してintいます。 ここで、最後に挿入した辞書内のキーにアクセスする必要がありますが、その名前がわかりません。明らかな試み: int LastCount = mydict[mydict.keys[mydict.keys.Count]]; はDictionary.Keys[]インデクサーを実装していないため、機能しません。 似たようなクラスはないかしら?スタックの使用を考えましたが、それは文字列のみを格納します。独自の構造体を作成してからを使用することもできますが、Stack<MyStruct>別の代替手段、本質的にはキーに[]インデクサーを実装するディクショナリがあるのだろうか。
160 c#  .net  dictionary 

16
.Netのラムダ式で使用されている「=>」を発音するには
他のプログラマーに会うことはほとんどありません! トークンを最初に見たときの私の考えは、「それを暗示する」ことでした。それは、それが数学的な証明でそれを読み取るものだからですが、明らかにそれは意味がありません。 だから私はどのように言うか「=>」のように読みます: IEnumerable<Person> Adults = people.Where(p => p.Age > 16) それとも、合意された言い方さえありますか?
160 c#  .net  lambda  conventions 


13
API設計で「パラメーターが多すぎる」問題を回避するにはどうすればよいですか?
私はこのAPI関数を持っています: public ResultEnum DoSomeAction(string a, string b, DateTime c, OtherEnum d, string e, string f, out Guid code) 嫌いです。パラメータの順序が不必要に重要になるからです。新しいフィールドを追加するのが難しくなります。何が渡されているかを確認するのは困難です。メソッドを小さな部分にリファクタリングすることは、サブ関数ですべてのパラメータを渡すという別のオーバーヘッドが発生するため、難しくなります。コードは読みにくいです。 私は最も明白なアイデアを思いつきました:データをカプセル化するオブジェクトを持ち、各パラメーターを1つずつ渡すのではなく、渡します。これが私が思いついたものです: public class DoSomeActionParameters { public string A; public string B; public DateTime C; public OtherEnum D; public string E; public string F; } これにより、API宣言が次のように減少しました。 public ResultEnum DoSomeAction(DoSomeActionParameters parameters, out Guid …

5
C#インタラクティブウィンドウはコードと対話できますか?
Visual Studio 2015以降では、「C#インタラクティブウィンドウ」を開いてコードを実行できます。 > 5 + 3 8 それはかわいいです。次に、コードを操作するにはどうすればよいですか—クラス プロジェクトを開いていると仮定します。 > new Cog() (1,5): error CS0246: The type or namespace name 'Cog' could not be found (are you missing a using directive or an assembly reference?)
160 c#  .net  visual-studio  roslyn 

10
WPFでハイパーリンクを使用する例
Hyperlinkコントロールを介してWPFアプリケーションにハイパーリンクを追加できるといういくつかの提案を見てきました。 これが私のコードで使用しようとしている方法です: <Window xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" xmlns:d="http://schemas.microsoft.com/expression/blend/2008" xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006" mc:Ignorable="d" x:Class="BookmarkWizV2.InfoPanels.Windows.UrlProperties" Title="UrlProperties" Height="754" Width="576"> <Grid> <Grid.RowDefinitions> <RowDefinition></RowDefinition> <RowDefinition Height="40"/> </Grid.RowDefinitions> <Grid> <ScrollViewer ScrollViewer.VerticalScrollBarVisibility="Auto" Grid.RowSpan="2"> <StackPanel > <DockPanel LastChildFill="True" Margin="0,5"> <TextBlock Text="Url:" Margin="5" DockPanel.Dock="Left" VerticalAlignment="Center"/> <TextBox Width="Auto"> <Hyperlink NavigateUri="http://www.google.co.in"> Click here </Hyperlink> </TextBox> </DockPanel > </StackPanel> </ScrollViewer> </Grid> <StackPanel HorizontalAlignment="Right" Orientation="Horizontal" Margin="0,7,2,7" Grid.Row="1" …
160 c#  wpf  xaml  hyperlink 

4
.NETでSmtpClientオブジェクトのユーザー名とパスワードを設定するにはどうすればよいですか?
コンストラクタのさまざまなバージョンが表示されます。1つはweb.configの情報を使用し、1つはホストを指定し、もう1つはホストとポートを指定します。しかし、どうすればユーザー名とパスワードをweb.configとは異なるものに設定できますか?内部のSMTPが一部の高セキュリティクライアントによってブロックされ、それらのSMTPサーバーを使用したいという問題があります。web.configの代わりにコードからこれを行う方法はありますか? この場合、たとえば、データベースから何も利用できない場合、web.config資格情報をどのように使用しますか? public static void CreateTestMessage1(string server, int port) { string to = "jane@contoso.com"; string from = "ben@contoso.com"; string subject = "Using the new SMTP client."; string body = @"Using this new feature, you can send an e-mail message from an application very easily."; MailMessage message = new MailMessage(from, to, …
160 c#  smtpclient 


7
列挙型のアクセス許可に0、1、2、4の値が含まれていることが多いのはなぜですか?
なぜ人々はいつものように列挙値を使用していません0, 1, 2, 4, 8か0, 1, 2, 3, 4? これはビット操作などと関係がありますか? これが正しく使用される方法に関する小さなサンプルスニペットを本当に感謝します:) [Flags] public enum Permissions { None = 0, Read = 1, Write = 2, Delete = 4 }
159 c#  permissions  enums  flags 


26
C#コーディング標準/ベストプラクティスドキュメントを開発するための提案はありますか?[閉まっている]
現在のところ、この質問は、Q&A形式には適していません。事実、参考文献、専門知識によって回答が裏付けられることを期待していますが、この質問は、討論、議論、投票、または拡張ディスカッションを求める可能性があります。この質問が改善され、場合によっては再開できると思われる場合は、ヘルプセンターにアクセスしてください。 7年前休業。 私は最近のAIの卒業生(約2年)で、ささやかな操作に取り組んでいます。(主に部署の最初の「採用担当者」として)基本的な(読みやすいですか?)C#コーディング標準のドキュメントを作成するのは、私に落ちました。 おそらく、私がソフトウェアエンジニアの中で最もジュニアな人だと説明する必要があると思いますが、実際に半分使えるものを作れるといいので、この仕事を楽しみにしています。私はインターネットをかなり広範囲に検索し、コーディング標準ドキュメントに含める必要がある/含めるべきではないものに関する記事を読みました。これは、いくつかの提案を求めるのに最適な場所のようです。 私は「物事を行うための最良の方法」についての意見の不一致の世界全体への扉を開く可能性があることを認識しています。私は、各プログラマーが個々のタスクを解決するための好ましい方法を持っているという否定できない事実を理解し、尊重しています。個々のコードを読みやすくするための標準(命名規則など)。 だからここに行く....何か提案?何かありますか?
159 c#  standards  procedure 


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