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

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

19
OWIN คลาสเริ่มต้นหายไป
ฉันได้รับข้อผิดพลาดนี้เนื่องจากโครงการของฉันไม่สามารถค้นหาข้อมูลอ้างอิงสำหรับOWINคลาสเริ่มต้นได้ ฉันได้ติดตั้งแพ็กเกจอ้างอิง OWIN ทั้งหมดผ่าน Nuget แล้วยังได้รับปัญหาเดียวกัน ฉันใช้และVisual Studio 2012MVC4 เกิดข้อผิดพลาดต่อไปนี้ขณะพยายามโหลดแอป ไม่พบชุดประกอบที่มี OwinStartupAttribute ไม่พบชุดประกอบที่มี Startup หรือ [AssemblyName] .Startup class หากต้องการปิดใช้งานการค้นพบเริ่มต้นของ OWIN ให้เพิ่มการตั้งค่าแอพ owin: AutomaticAppStartup ด้วยค่า "false" ใน web.config ของคุณ ในการระบุ OWIN startup Assembly, Class หรือ Method ให้เพิ่ม appSetting owin: AppStartup ด้วยคลาสเริ่มต้นแบบเต็มหรือชื่อวิธีการกำหนดค่าใน web.config ของคุณ

13
ค้นหารายการในรายการโดย LINQ?
ที่นี่ฉันมีตัวอย่างง่ายๆในการค้นหารายการในรายการสตริง โดยปกติฉันจะใช้สำหรับการวนซ้ำหรือการมอบสิทธิ์แบบไม่ระบุชื่อเพื่อทำสิ่งนี้: int GetItemIndex(string search) { int found = -1; if ( _list != null ) { foreach (string item in _list) // _list is an instance of List<string> { found++; if ( string.Equals(search, item) ) { break; } } /* use anonymous delegate string foundItem = _list.Find( delegate(string item) …
226 c#  linq 

16
เราจะสร้างตัวตั้งและตัวตั้งค่าใน Visual Studio ได้อย่างไร
โดย "สร้าง" ฉันหมายถึงการสร้างรหัสอัตโนมัติที่จำเป็นสำหรับตัวแปรที่เลือก (ชุด) แต่คำอธิบายหรือความคิดเห็นที่ชัดเจนเกี่ยวกับแนวปฏิบัติที่ดีนั้นยินดีต้อนรับ

12
วิธีการตรวจสอบว่าชนิดที่ใช้ประเภทอินเตอร์เฟสทั่วไปที่เฉพาะเจาะจง
สมมติคำจำกัดความประเภทต่อไปนี้: public interface IFoo<T> : IBar<T> {} public class Foo<T> : IFoo<T> {} ฉันจะทราบได้อย่างไรว่าประเภทนั้นFooใช้อินเทอร์เฟซทั่วไปIBar<T>เมื่อมีชนิด mangled เท่านั้นที่ใช้ได้
226 c#  .net  reflection 

16
ตรวจสอบว่าวัตถุเป็นโมฆะใน C #
ฉันต้องการป้องกันการประมวลผลเพิ่มเติมบนวัตถุหากเป็นโมฆะ ในรหัสต่อไปนี้ฉันตรวจสอบว่าวัตถุเป็นโมฆะโดยอย่างใดอย่างหนึ่ง: if (!data.Equals(null)) และ if (data != null) แต่ผมได้รับที่NullReferenceException dataList.Add(data)หากวัตถุนั้นเป็นโมฆะมันไม่ควรที่จะใส่คำสั่งif-state! ดังนั้นฉันถามว่านี่เป็นวิธีที่เหมาะสมในการตรวจสอบว่าวัตถุเป็นโมฆะ: public List<Object> dataList; public bool AddData(ref Object data) bool success = false; try { // I've also used "if (data != null)" which hasn't worked either if (!data.Equals(null)) { //NullReferenceException occurs here ... dataList.Add(data); success = doOtherStuff(data); } …

20
ฉันจะฟอร์แมต DateTime ที่ไม่มีค่าด้วย ToString () ได้อย่างไร
ฉันจะแปลง DateTime dt2 ที่ไม่สามารถแปลงเป็นสตริงที่จัดรูปแบบได้อย่างไร? DateTime dt = DateTime.Now; Console.WriteLine(dt.ToString("yyyy-MM-dd hh:mm:ss")); //works DateTime? dt2 = DateTime.Now; Console.WriteLine(dt2.ToString("yyyy-MM-dd hh:mm:ss")); //gives following error: ไม่มีวิธีการมากเกินไป ToString ใช้เวลาหนึ่งอาร์กิวเมนต์

14
ทดสอบว่าคุณสมบัติมีอยู่ในตัวแปรแบบไดนามิกหรือไม่
สถานการณ์ของฉันง่ายมาก บางแห่งในรหัสของฉันฉันมีสิ่งนี้: dynamic myVariable = GetDataThatLooksVerySimilarButNotTheSame(); //How to do this? if (myVariable.MyProperty.Exists) //Do stuff ดังนั้นโดยทั่วไปคำถามของฉันคือวิธีการตรวจสอบ (โดยไม่ทิ้งข้อยกเว้น) ว่าคุณสมบัติบางอย่างมีอยู่ในตัวแปรแบบไดนามิกของฉัน ฉันสามารถทำได้GetType()แต่ฉันควรหลีกเลี่ยงเพราะฉันไม่จำเป็นต้องรู้ประเภทของวัตถุ ทั้งหมดที่ฉันอยากรู้คือทรัพย์สิน (หรือวิธีการถ้าทำให้ชีวิตง่ายขึ้น) ตัวชี้ใด ๆ

27
ระบบการกำหนดค่าล้มเหลวในการเริ่มต้น
ฉันยังใหม่กับ Visual Studio ฉันกำลังสร้างแบบฟอร์มเข้าสู่ระบบ ฉันมีรหัสนี้ string connectionString = ConfigurationManager.ConnectionStrings["ConnectionString"].ConnectionString; try { using (OdbcConnection connect = new OdbcConnection(connectionString)) { connect.Open(); OdbcCommand cmd = new OdbcCommand("SELECT username, password FROM receptionist", connect); OdbcDataReader reader = cmd.ExecuteReader(); if (username_login.Text == username && password_login.Text == password) { this.Hide(); MessageBox.Show("Invalid User", "Login Error", MessageBoxButtons.OK, MessageBoxIcon.Error); this.Close(); …


21
ผสานสองอาร์เรย์ใน. NET
มีฟังก์ชันในตัวใน. NET 2.0 ที่จะใช้สองอาร์เรย์และรวมเข้าไปในอาร์เรย์เดียว อาร์เรย์มีทั้งประเภทเดียวกัน ฉันได้รับอาร์เรย์เหล่านี้จากฟังก์ชั่นที่ใช้กันอย่างแพร่หลายภายในฐานรหัสของฉันและไม่สามารถแก้ไขฟังก์ชั่นเพื่อส่งคืนข้อมูลในรูปแบบที่แตกต่างกัน ฉันกำลังมองหาที่จะหลีกเลี่ยงการเขียนฟังก์ชั่นของตัวเองเพื่อให้บรรลุนี้ถ้าเป็นไปได้
225 c#  .net  arrays 

15
วิธีการตรวจสอบว่าทศนิยม / สองครั้งเป็นจำนวนเต็ม?
ฉันจะรู้ได้อย่างไรว่าค่าทศนิยมหรือสองเท่าเป็นจำนวนเต็ม? ตัวอย่างเช่น: decimal d = 5.0; // Would be true decimal f = 5.5; // Would be false หรือ double d = 5.0; // Would be true double f = 5.5; // Would be false เหตุผลที่ฉันอยากจะรู้ว่านี่เป็นเพื่อที่จะสามารถตรวจสอบโปรแกรมถ้าผมต้องการที่จะส่งออกค่าใช้หรือ.ToString("N0") .ToString("N2")หากไม่มีค่าทศนิยมแล้วฉันไม่ต้องการแสดงว่า
225 c# 

13
ผ่านคุณสมบัติโดยการอ้างอิงใน C #
Наэтотвопросестьответына Stack Overflow нарусском : ภาษา: คำอธิบาย ฉันกำลังพยายามทำสิ่งต่อไปนี้: GetString( inputString, ref Client.WorkPhone) private void GetString(string inValue, ref string outValue) { if (!string.IsNullOrEmpty(inValue)) { outValue = inValue; } } นี่ทำให้ฉันมีข้อผิดพลาดในการคอมไพล์ ฉันคิดว่ามันชัดเจนว่าฉันพยายามทำอะไร โดยทั่วไปฉันต้องการGetStringคัดลอกเนื้อหาของสตริงการป้อนข้อมูลให้กับทรัพย์สินของWorkPhoneClient เป็นไปได้หรือไม่ที่จะส่งทรัพย์สินโดยอ้างอิง?

16
ฉันจะแยกข้อความที่อยู่ระหว่างวงเล็บ (วงเล็บเหลี่ยม) ได้อย่างไร
ฉันมีสตริงUser name (sales)และฉันต้องการแยกข้อความระหว่างวงเล็บปีกกาฉันจะทำอย่างไร ฉันสงสัยว่าสตริงย่อย แต่ฉันไม่สามารถหาวิธีการอ่านจนกระทั่งวงเล็บปิดความยาวของข้อความจะแตกต่างกัน
224 c#  .net  regex 

13
แปลงรายการวัตถุจากประเภทหนึ่งไปอีกประเภทหนึ่งโดยใช้การแสดงออกแลมบ์ดา
ฉันมีวง foreach อ่านรายการของวัตถุประเภทหนึ่งและผลิตรายการวัตถุประเภทอื่น ฉันถูกบอกว่าการแสดงออกแลมบ์ดาสามารถบรรลุผลลัพธ์เดียวกัน var origList = List<OrigType>(); // assume populated var targetList = List<TargetType>(); foreach(OrigType a in origList) { targetList.Add(new TargetType() {SomeValue = a.SomeValue}); } ความช่วยเหลือใด ๆ ที่จะได้รับการชื่นชม - ฉันยังใหม่กับแลมบ์ดาและลินุกซ์ขอบคุณ
224 c#  generics  lambda 

8
SecureString ใช้งานได้จริงในแอปพลิเคชัน C # หรือไม่
อย่าลังเลที่จะแก้ไขฉันหากข้อสันนิษฐานของฉันผิดที่นี่ แต่ให้ฉันอธิบายว่าทำไมฉันถึงถาม นำมาจาก MSDN, a SecureString: แสดงถึงข้อความที่ควรเก็บเป็นความลับ ข้อความถูกเข้ารหัสเพื่อความเป็นส่วนตัวเมื่อมีการใช้งานและลบออกจากหน่วยความจำคอมพิวเตอร์เมื่อไม่ต้องการใช้อีกต่อไป ฉันได้รับมันทำให้รู้สึกที่สมบูรณ์ในการจัดเก็บรหัสผ่านหรือข้อมูลส่วนตัวอื่น ๆ ในSecureStringช่วงเวลาSystem.Stringเพราะคุณสามารถควบคุมวิธีการและเวลาที่มันถูกเก็บไว้ในหน่วยความจำจริงเพราะSystem.String: มีทั้งที่ไม่เปลี่ยนรูปและเมื่อไม่ต้องการอีกต่อไปจะไม่สามารถกำหนดตารางเวลาทางโปรแกรมสำหรับการรวบรวมขยะ นั่นคืออินสแตนซ์จะอ่านอย่างเดียวหลังจากที่มันถูกสร้างขึ้นและมันเป็นไปไม่ได้ที่จะทำนายเมื่ออินสแตนซ์จะถูกลบออกจากหน่วยความจำคอมพิวเตอร์ ดังนั้นหากวัตถุ String มีข้อมูลที่ละเอียดอ่อนเช่นรหัสผ่านหมายเลขบัตรเครดิตหรือข้อมูลส่วนบุคคลมีความเสี่ยงที่ข้อมูลจะถูกเปิดเผยหลังจากใช้งานเพราะแอปพลิเคชันของคุณไม่สามารถลบข้อมูลออกจากหน่วยความจำคอมพิวเตอร์ อย่างไรก็ตามในกรณีของโปรแกรม GUI (ตัวอย่างเช่นลูกค้า SSH) ที่จะต้องมีการสร้างขึ้นจากSecureString System.Stringทั้งหมดของการควบคุมข้อความที่ใช้สตริงเป็นชนิดข้อมูลพื้นฐาน ดังนั้นนี่หมายความว่าทุกครั้งที่ผู้ใช้กดปุ่มสตริงเก่าที่ถูกทิ้งและสตริงใหม่จะถูกสร้างขึ้นเพื่อเป็นตัวแทนของค่าภายในกล่องข้อความแม้ว่าจะใช้หน้ากากรหัสผ่าน และเราไม่สามารถควบคุมได้ว่าค่าเหล่านั้นจะถูกทิ้งจากหน่วยความจำเมื่อใดหรือไม่ ถึงเวลาเข้าสู่ระบบเซิร์ฟเวอร์แล้ว คาดเดาอะไร คุณต้องผ่านสตริงผ่านการเชื่อมต่อสำหรับการรับรองความถูกต้อง งั้นเรามาแปลงSecureStringเป็น a System.String.... และตอนนี้เรามีสตริงบน heap โดยไม่มีทางบังคับให้ผ่านการรวบรวมขยะ (หรือเขียน 0 ไปยังบัฟเฟอร์) จุดของฉันคือ : ไม่ว่าสิ่งที่คุณทำบางเส้นที่SecureStringจะไปที่จะถูกแปลงเป็นSystem.Stringความหมายมันจะมีอยู่ที่อย่างน้อยในกองในบางจุด (โดยไม่มีการรับประกันของการเก็บขยะใด ๆ ) จุดของฉันไม่ใช่ : มีวิธีหลีกเลี่ยงการส่งสตริงไปยังการเชื่อมต่อ ssh หรือหลีกเลี่ยงการมีตัวควบคุมเก็บสตริง (ทำการควบคุมแบบกำหนดเอง) สำหรับคำถามนี้คุณสามารถแทนที่ "การเชื่อมต่อ …
224 c#  security 

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