คำถามติดแท็ก c#

C # (ออกเสียงว่า "ดูคม") เป็นภาษาการเขียนโปรแกรมหลายกระบวนทัศน์ในระดับสูงพิมพ์แบบคงที่พัฒนาโดย Microsoft รหัส C # มักกำหนดเป้าหมายกลุ่มเครื่องมือ. NET ของ Microsoft และรันไทม์ซึ่งรวมถึง. NET Framework, .NET Core และ Xamarin เป็นต้น ใช้แท็กนี้สำหรับคำถามเกี่ยวกับโค้ดที่เขียนในข้อกำหนดทางการของ C # หรือ C #

8
แปลงสตริง JSON เป็นวัตถุ JSON c #
ฉันมีสตริงนี้เก็บอยู่ในฐานข้อมูลของฉัน: str = "{ "context_name": { "lower_bound": "value", "upper_bound": "value", "values": [ "value1", "valueN" ] } }" สตริงนี้มีอยู่แล้วในรูปแบบ JSON แต่ฉันต้องการแปลงเป็น JObject หรือ JSON Object JObject json = new JObject(); ฉันลองjson = (JObject)str;นักแสดง แต่มันไม่ทำงานดังนั้นฉันจะทำอย่างไร
161 c#  asp.net  json  string  parsing 

8
ทางลัดเยื้องใน Visual Studio
ฉันยังใหม่กับ Visual Studio 2010 และ C # ฉันจะเยื้องข้อความที่เลือกเป็นซ้าย / ขวาโดยใช้ทางลัดได้อย่างไร ใน Delphi IDE ค่าเทียบเท่าคือCtrl+ Shift+ IและCtrl+ Shift+U

6
แอตทริบิวต์ DisplayName จากทรัพยากร?
ฉันมีแอปพลิเคชั่นที่แปลเป็นภาษาท้องถิ่นและฉันสงสัยว่าเป็นไปได้หรือไม่ที่จะมีDisplayNameชุดคุณสมบัติของโมเดลจากทรัพยากร ฉันต้องการทำสิ่งนี้: public class MyModel { [Required] [DisplayName(Resources.Resources.labelForName)] public string name{ get; set; } } แต่ฉันทำไม่ได้ในขณะที่คอมไพเลอร์พูดว่า: "อาร์กิวเมนต์ของแอตทริบิวต์ต้องเป็นนิพจน์คงที่, นิพจน์ typeof หรือการสร้างอาเรย์ของประเภทพารามิเตอร์คุณลักษณะ" :( มีวิธีแก้ไขปัญหาหรือไม่? ฉันกำลังแสดงฉลากด้วยตนเอง แต่ฉันต้องการสิ่งเหล่านี้สำหรับเอาท์พุท validator!

15
การเข้าถึง Dictionary.Keys Key ผ่านดัชนีตัวเลข
ฉันใช้Dictionary<string, int>ที่ซึ่งintเป็นกุญแจสำคัญ ตอนนี้ฉันต้องเข้าถึงคีย์ที่แทรกล่าสุดภายในพจนานุกรม แต่ฉันไม่รู้ชื่อของมัน ความพยายามที่ชัดเจน: int LastCount = mydict[mydict.keys[mydict.keys.Count]]; ไม่ทำงานเพราะDictionary.Keysไม่ได้ใช้ [] -indexer ฉันแค่สงสัยว่ามีคลาสที่คล้ายกันหรือไม่? ฉันคิดถึงการใช้สแต็ค แต่นั่นเก็บเฉพาะสตริง ตอนนี้ฉันสามารถสร้าง struct ของตัวเองแล้วใช้ a Stack<MyStruct>แต่ฉันสงสัยว่ามีทางเลือกอื่นหรือไม่โดยพื้นฐานแล้วพจนานุกรมที่ใช้ [] -indexer on the Keys?
160 c#  .net  dictionary 

16
ฉันจะออกเสียง“ =>” ตามที่ใช้ในแลมบ์ดานิพจน์ใน. Net ได้อย่างไร
ฉันไม่ค่อยพบโปรแกรมเมอร์คนอื่นเลย! ความคิดของฉันเมื่อฉันเห็นโทเค็นครั้งแรกคือ "บอกเป็นนัยว่า" เพราะนั่นคือสิ่งที่มันจะอ่านได้ในหลักฐานทางคณิตศาสตร์ แต่นั่นไม่ชัดเจน ดังนั้นฉันจะพูดหรืออ่าน "=>" อย่างไรใน: - IEnumerable<Person> Adults = people.Where(p => p.Age > 16) หรือมีวิธีพูดตกลงกันได้ไหม?
160 c#  .net  lambda  conventions 


12
เป็น String.Format ที่มีประสิทธิภาพเท่ากับ StringBuilder
สมมติว่าฉันมีตัวสร้างสตริงใน 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); ถ้าเป็นเช่นนั้นทำไม แก้ไข หลังจากคำตอบที่น่าสนใจฉันรู้ว่าฉันน่าจะชัดเจนขึ้นเล็กน้อยในสิ่งที่ฉันขอ ฉันไม่ได้มากขอซึ่งเป็นเร็วที่เชื่อมโยงสตริง แต่ที่เร็วที่ฉีดหนึ่งสายเข้าไปอีก ในทั้งสองกรณีข้างต้นฉันต้องการแทรกหนึ่งสตริงขึ้นไปในกึ่งกลางของสตริงแม่แบบที่กำหนดไว้ล่วงหน้า ขอโทษสำหรับความสับสน

13
จะหลีกเลี่ยงปัญหา“ พารามิเตอร์มากเกินไป” ในการออกแบบ API ได้อย่างไร
ฉันมีฟังก์ชั่น API นี้: public ResultEnum DoSomeAction(string a, string b, DateTime c, OtherEnum d, string e, string f, out Guid code) ฉันไม่ชอบมัน เนื่องจากลำดับพารามิเตอร์มีความสำคัญเกินความจำเป็น การเพิ่มฟิลด์ใหม่กลายเป็นเรื่องยาก มันยากที่จะเห็นสิ่งที่ถูกส่งผ่าน มันยากกว่าที่จะ refactor method เป็นชิ้นส่วนเล็ก ๆ เพราะมันจะสร้างโอเวอร์เฮดอีกครั้งในการส่งผ่านพารามิเตอร์ทั้งหมดในฟังก์ชั่นย่อย รหัสอ่านยากกว่า ฉันคิดขึ้นมาด้วยความคิดที่ชัดเจนที่สุด: ให้อ็อบเจกต์ห่อหุ้มข้อมูลแล้วส่งไปรอบ ๆ แทนที่จะส่งแต่ละพารามิเตอร์ทีละหนึ่ง นี่คือสิ่งที่ฉันมาด้วย: public class DoSomeActionParameters { public string A; public string B; public DateTime C; public …

7
การทดสอบหน่วยว่าเหตุการณ์เพิ่มขึ้นใน C # (ตามลำดับ)
ฉันมีรหัสบางอย่างที่ทำให้เกิดPropertyChangedเหตุการณ์และฉันต้องการที่จะทดสอบหน่วยว่าเหตุการณ์นั้นได้รับการยกอย่างถูกต้อง รหัสที่เพิ่มเหตุการณ์เป็นเหมือน public class MyClass : INotifyPropertyChanged { public event PropertyChangedEventHandler PropertyChanged; protected void NotifyPropertyChanged(String info) { if (PropertyChanged != null) { PropertyChanged(this, new PropertyChangedEventArgs(info)); } } public string MyProperty { set { if (_myProperty != value) { _myProperty = value; NotifyPropertyChanged("MyProperty"); } } } } ฉันได้รับการทดสอบสีเขียวที่ดีจากรหัสต่อไปนี้ในการทดสอบหน่วยของฉันซึ่งใช้ผู้ได้รับมอบหมาย: [TestMethod] public void …
160 c#  unit-testing  events 

10
ตัวอย่างการใช้ไฮเปอร์ลิงก์ใน WPF
ฉันเห็นคำแนะนำหลายประการที่คุณสามารถเพิ่มไฮเปอร์ลิงก์ไปยังแอปพลิเคชัน WPF ผ่านHyperlinkการควบคุม นี่คือวิธีที่ฉันพยายามใช้ในรหัสของฉัน: <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" …
160 c#  wpf  xaml  hyperlink 

4
วิธีตั้งค่าชื่อผู้ใช้และรหัสผ่านสำหรับวัตถุ SmtpClient ใน. NET
ฉันเห็นคอนสตรัคเตอร์รุ่นต่าง ๆ หนึ่งใช้ข้อมูลจาก web.config หนึ่งระบุโฮสต์และหนึ่งโฮสต์และพอร์ต แต่ฉันจะตั้งชื่อผู้ใช้และรหัสผ่านเป็นสิ่งที่แตกต่างจาก 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 …
160 c#  smtpclient 

11
ฉันจะปัดเศษเป็นนาทีที่ใกล้ที่สุดได้อย่างไร
มีฟังก์ชั่นที่ง่ายสำหรับการปัดเศษขึ้นDateTimeที่ใกล้ที่สุด 15 นาที? เช่น 2011-08-11 16:59 กลายเป็น 2011-08-11 17:00 2011-08-11 17:00 อยู่ตาม 2011-08-11 17:00 2011-08-11 17:01 กลายเป็น 2011-08-11 17:15
160 c#  datetime  rounding 

7
ทำไมการอนุญาต enum มักจะมีค่า 0, 1, 2, 4
ทำไมคนมักใช้ค่า enum ชอบ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 

17
บางครั้งการเพิ่มการอ้างอิงบริการ WCF จะสร้างการอ้างอิงที่ว่างเปล่า
บางครั้งการเพิ่มการอ้างอิงบริการ WCF จะสร้างการอ้างอิงที่ว่างเปล่าและฉันไม่สามารถอ้างอิงบริการได้ทุกที่ในโครงการ มีใครพบกับสิ่งนี้หรือไม่?
159 c#  .net  wcf 

26
มีข้อเสนอแนะใด ๆ สำหรับการพัฒนามาตรฐานการเข้ารหัส C # / แนวทางปฏิบัติที่ดีที่สุดหรือไม่? [ปิด]
ตามที่เป็นอยู่ในปัจจุบันคำถามนี้ไม่เหมาะสำหรับรูปแบบคำถาม & คำตอบของเรา เราคาดหวังคำตอบที่จะได้รับการสนับสนุนจากข้อเท็จจริงการอ้างอิงหรือความเชี่ยวชาญ แต่คำถามนี้มีแนวโน้มที่จะเรียกร้องการอภิปรายการโต้แย้งการหยั่งเสียงหรือการอภิปรายเพิ่มเติม หากคุณรู้สึกว่าคำถามนี้สามารถปรับปรุงและเปิดใหม่ได้โปรดไปที่ศูนย์ช่วยเหลือเพื่อขอคำแนะนำ ปิดให้บริการใน7 ปีที่ผ่านมา ฉันเป็นบัณฑิต AI ล่าสุด (ประมาณ 2 ปี) ที่ทำงานเพื่อการดำเนินงานที่เรียบง่าย มันทำให้ฉันตกหลุม (โดยเฉพาะอย่างยิ่งฉันเป็น 'ผู้รับบุตรบุญธรรม' คนแรกในแผนก) เพื่อสร้างพื้นฐาน (อ่านมีประโยชน์?) C # เอกสารมาตรฐานการเข้ารหัส ฉันคิดว่าฉันควรอธิบายว่าฉันน่าจะเป็นวิศวกรซอฟต์แวร์รุ่นต่อไป แต่ฉันหวังว่าจะทำงานนี้เพราะหวังว่าฉันจะสามารถใช้งานได้ครึ่งหนึ่ง ฉันได้ทำการค้นหาอย่างกว้างขวางเกี่ยวกับอินเทอร์เน็ตและอ่านบทความเกี่ยวกับเอกสารมาตรฐานการเข้ารหัสที่ควร / ไม่ควรมี ดูเหมือนว่าจะเป็นสถานที่ที่ดีสำหรับการขอคำแนะนำ ฉันตระหนักว่าฉันอาจเปิดประตูสู่โลกทั้งโลกที่ไม่เห็นด้วยเกี่ยวกับ 'วิธีที่ดีที่สุดในการทำสิ่งต่าง ๆ ' ฉันเข้าใจและเคารพในความจริงที่ปฏิเสธไม่ได้ว่าโปรแกรมเมอร์แต่ละคนมีวิธีการที่เหมาะสมในการแก้ปัญหาแต่ละงานดังนั้นฉันจึงไม่ต้องการเขียนอะไรเลยดังนั้นจึงอธิบายได้อย่างไร้เหตุผลว่าจะยับยั้งไหวพริบส่วนบุคคล แต่พยายามหาวิธีทั่วไป มาตรฐาน (เช่นการตั้งชื่อการประชุม) เพื่อช่วยให้รหัสบุคคลอ่านง่ายขึ้น ดังนั้นที่นี่ไป .... ข้อเสนอแนะใด ๆ อะไรบ้าง?
159 c#  standards  procedure 

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.