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

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

6
รับข้อมูล JSON กลับจากคำขอ HTTP
ฉันมีคำขอทางเว็บที่ทำงานได้อย่างถูกต้อง แต่มันเพิ่งคืนสถานะตกลง แต่ฉันต้องการวัตถุที่ฉันขอให้ส่งคืน ฉันไม่แน่ใจว่าจะรับค่า json ที่ฉันขอได้อย่างไร ฉันยังใหม่กับการใช้วัตถุ HttpClient มีคุณสมบัติที่ฉันพลาดไปหรือไม่? ฉันต้องการวัตถุที่ส่งคืนจริงๆ ขอบคุณสำหรับความช่วยเหลือ การโทร - ทำงานได้ดีส่งคืนสถานะ OK HttpClient client = new HttpClient(); client.DefaultRequestHeaders.Accept .Add(new MediaTypeWithQualityHeaderValue("application/json")); var responseMsg = client.GetAsync(string.Format("http://localhost:5057/api/Photo")).Result; เมธอด api get //Cut out alot of code but you get the idea public string Get() { return JsonConvert.SerializeObject(returnedPhoto); }

5
เหตุใดเมธอด Exited ของกระบวนการของฉันจึงไม่ถูกเรียกใช้
ฉันมีรหัสต่อไปนี้ แต่เหตุใดจึงProcessExitedไม่เรียกเมธอดนี้ เหมือนกันถ้าฉันไม่ใช้ Windows shell ( startInfo.UseShellExecute = false) ProcessStartInfo startInfo = new ProcessStartInfo(); startInfo.CreateNoWindow = true; startInfo.UseShellExecute = true; startInfo.WindowStyle = ProcessWindowStyle.Hidden; startInfo.FileName = path; startInfo.Arguments = rawDataFileName; startInfo.WorkingDirectory = Util.GetParentDirectory(path, 1); try { Process correctionProcess = Process.Start(startInfo); correctionProcess.Exited += new EventHandler(ProcessExited); correctionProcess.WaitForExit(); status = true; } ..... internal …
96 c#  .net 

5
ใช้ System.Dynamic ใน Roslyn
ฉันแก้ไขตัวอย่างที่มาพร้อมกับ Roslyn เวอร์ชันใหม่ที่เปิดตัวเมื่อวานนี้เพื่อใช้ไดนามิกและ ExpandoObject แต่ฉันได้รับข้อผิดพลาดของคอมไพเลอร์ซึ่งฉันไม่แน่ใจว่าจะแก้ไขอย่างไร ข้อผิดพลาดคือ: (7,21): ข้อผิดพลาด CS0656: ไม่มีสมาชิกที่ต้องการของคอมไพเลอร์ 'Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfo.Create' คุณยังไม่สามารถใช้ dynamics ในคอมไพเลอร์ใหม่ได้หรือไม่? ฉันจะแก้ไขปัญหานี้ได้อย่างไร? นี่คือตัวอย่างที่ฉันอัปเดต: [TestMethod] public void EndToEndCompileAndRun() { var text = @"using System.Dynamic; public class Calculator { public static object Evaluate() { dynamic x = new ExpandoObject(); x.Result = 42; return x.Result; } }"; var tree = …
96 c#  roslyn 

9
Visual Studio ดีบักเครื่องมือ "นาฬิกาด่วน" และนิพจน์แลมบ์ดา
เหตุใดฉันจึงไม่สามารถใช้นิพจน์แลมบ์ดาในขณะที่แก้ไขข้อบกพร่องในหน้าต่าง "นาฬิกาด่วน" ได้ UPD: ดูเพิ่มเติม http://blogs.msdn.com/b/jaredpar/archive/2009/08/26/why-no-linq-in-debugger-windows.aspx http://blogs.msdn.com/b/jaredpar/archive/2010/06/02/why-is-linq-absent-from-debugger-windows-part-2.aspx

7
Path รวมค่าสัมบูรณ์กับสตริงพา ธ สัมพัทธ์
ฉันกำลังพยายามเข้าร่วมเส้นทางของ Windows ด้วยเส้นทางสัมพัทธ์โดยใช้ Path.Combine . อย่างไรก็ตามPath.Combine(@"C:\blah",@"..\bling")ผลตอบแทนC:\blah\..\blingC:\bling\แทน ไม่มีใครรู้วิธีทำสิ่งนี้ให้สำเร็จโดยไม่ต้องเขียนตัวแก้ไขเส้นทางสัมพัทธ์ของตัวเอง (ซึ่งไม่ควรยากเกินไป)
96 c#  .net  windows  path  filesystems 

10
วิธีการตั้งค่าสตริงการเชื่อมต่อ SQL Server
ฉันกำลังพัฒนาแอปพลิเคชัน C # แบบธรรมดาฉันต้องการทราบสิ่งนี้: เมื่อฉันเชื่อมต่อแอปพลิเคชันของฉันกับ SQL Server บนพีซีฉันรู้สตริงการเชื่อมต่อ (ชื่อเซิร์ฟเวอร์รหัสผ่าน ฯลฯ ) แต่เมื่อฉันเชื่อมต่อกับอื่น พีซีสตริงการเชื่อมต่อ SQL Server แตกต่างกัน มีบัญชีทั่วไปใน SQL Server ที่มาพร้อมกับบัญชีเริ่มต้นที่สามารถเชื่อมต่อได้หรือไม่? ฉันเคยได้ยินเกี่ยวกับsaบัญชีใน SQL Server คือsaอะไร?

11
วิธีที่หรูหราในการรวมคอลเลกชันขององค์ประกอบต่างๆ
สมมติว่าฉันมีคอลเล็กชันตามจำนวนที่กำหนดแต่ละรายการมีวัตถุประเภทเดียวกัน (เช่นList<int> fooและList<int> bar) หากคอลเลกชันเหล่านี้อยู่ในคอลเลกชั่น (เช่นประเภทList<List<int>>ฉันสามารถใช้SelectManyเพื่อรวมทั้งหมดเป็นคอลเลกชั่นเดียว อย่างไรก็ตามหากคอลเลกชันเหล่านี้ไม่ได้อยู่ในคอลเลกชั่นเดียวกันฉันรู้สึกประทับใจที่ต้องเขียนวิธีการดังนี้: public static IEnumerable<T> Combine<T>(params ICollection<T>[] toCombine) { return toCombine.SelectMany(x => x); } ซึ่งฉันจะเรียกแบบนี้ว่า var combined = Combine(foo, bar); มีวิธีที่สะอาดและสวยงามในการรวมคอลเลกชัน (จำนวนเท่าใดก็ได้) โดยไม่ต้องเขียนวิธียูทิลิตี้เหมือนCombineข้างต้นหรือไม่? ดูเหมือนง่ายพอที่จะมีวิธีทำใน LINQ แต่อาจจะไม่ใช่


8
คัดลอกไฟล์ลงในโฟลเดอร์แอปพลิเคชันในเวลาคอมไพล์
หากฉันมีไฟล์บางไฟล์ที่ต้องการคัดลอกจากโปรเจ็กต์ของฉันไปยัง.\bin\debug\โฟลเดอร์ในการคอมไพล์ดูเหมือนว่าฉันจะต้องใส่ไฟล์เหล่านั้นลงในรูทของโปรเจ็กต์ การใส่ลงในโฟลเดอร์ย่อยดูเหมือนว่าจะคัดลอกลงใน.\bin\debug\โฟลเดอร์ในโครงสร้างเดียวกับที่เก็บไว้ มีวิธีใดบ้างที่จะหลีกเลี่ยงสิ่งนี้? เพื่อความชัดเจน: ถ้าฉันมีMyFirstConfigFile.txtและMySecondConfigFile.txtอยู่ในConfigFilesโฟลเดอร์และฉันตั้งค่าCopy เป็น Outputเป็นCopy ... สิ่งนั้นจะปรากฏใน.\bin\debug\ConfigFiles\โฟลเดอร์ ฉันต้องการให้มันปรากฏใน.\bin\debug\โฟลเดอร์
96 c#  visual-studio 

8
ฉันจะรับชนิดข้อมูลของตัวแปรใน C # ได้อย่างไร
ฉันจะทราบได้อย่างไรว่าตัวแปรบางตัวมีข้อมูลประเภทใดอยู่ (เช่น int, string, char ฯลฯ ) ฉันมีสิ่งนี้ตอนนี้: using System; using System.Collections.Generic; using System.Linq; using System.Text; namespace Testing { class Program { static void Main() { Person someone = new Person(); someone.setName(22); int n = someone.getName(); Console.WriteLine(n.typeOf()); } } class Person { public int name; public void setName(int name) { …
96 c#  types 

4
LINQ to Entities รองรับเฉพาะการหล่อ EDM แบบดั้งเดิมหรือชนิดการนับด้วยอินเทอร์เฟซ IEntity
ฉันมีวิธีการขยายทั่วไปดังต่อไปนี้: public static T GetById<T>(this IQueryable<T> collection, Guid id) where T : IEntity { Expression<Func<T, bool>> predicate = e => e.Id == id; T entity; // Allow reporting more descriptive error messages. try { entity = collection.SingleOrDefault(predicate); } catch (Exception ex) { throw new InvalidOperationException(string.Format( "There was an error retrieving …

17
ตัวอย่างรูปแบบกลยุทธ์ในโลกแห่งความจริง
ฉันได้อ่านเกี่ยวกับหลักการของ OCPและวิธีใช้รูปแบบกลยุทธ์เพื่อบรรลุเป้าหมายนี้ ฉันจะพยายามอธิบายเรื่องนี้กับคนสองสามคน แต่ตัวอย่างเดียวที่ฉันคิดได้คือการใช้คลาสการตรวจสอบความถูกต้องที่แตกต่างกันตามสถานะของ "คำสั่งซื้อ" ฉันได้อ่านบทความออนไลน์สองสามบทความ แต่สิ่งเหล่านี้มักไม่ได้อธิบายถึงเหตุผลที่เหมือนจริงในการใช้กลยุทธ์เช่นการสร้างรายงาน / ใบเรียกเก็บเงิน / การตรวจสอบความถูกต้อง ฯลฯ ... มีตัวอย่างในโลกแห่งความเป็นจริงที่คุณคิดว่ารูปแบบกลยุทธ์เป็นเรื่องธรรมดาหรือไม่?

8
รับค่าพารามิเตอร์เอาต์พุตใน ADO.NET
กระบวนงานที่เก็บไว้ของฉันมีพารามิเตอร์เอาต์พุต: @ID INT OUT ฉันจะดึงข้อมูลนี้โดยใช้ adm.net ได้อย่างไร? using (SqlConnection conn = new SqlConnection(...)) { SqlCommand cmd = new SqlCommand("sproc", conn); cmd.CommandType = CommandType.StoredProcedure; // add parameters conn.Open(); // *** read output parameter here, how? conn.Close(); }
96 c#  .net  ado.net 


8
วิธีการแปลงจาก System.Enum เป็นจำนวนเต็มฐาน?
ฉันต้องการสร้างเมธอดทั่วไปสำหรับการแปลงประเภทที่ได้รับ System.Enum เป็นค่าจำนวนเต็มที่สอดคล้องกันโดยไม่ต้องแคสต์และไม่ควรแยกวิเคราะห์สตริง เช่นสิ่งที่ฉันต้องการมีดังนี้: // Trivial example, not actually what I'm doing. class Converter { int ToInteger(System.Enum anEnum) { (int)anEnum; } } แต่ดูเหมือนจะไม่ได้ผล Resharper รายงานว่าคุณไม่สามารถส่งนิพจน์ประเภท 'System.Enum' เพื่อพิมพ์ 'int' ได้ ตอนนี้ฉันคิดวิธีแก้ปัญหานี้ขึ้นมาแล้ว แต่ฉันอยากมีอะไรที่มีประสิทธิภาพมากกว่านี้ class Converter { int ToInteger(System.Enum anEnum) { return int.Parse(anEnum.ToString("d")); } } ข้อเสนอแนะใด ๆ ?

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