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

9
เป็นไปได้หรือไม่ที่จะ“ รอผลตอบแทน DoSomethingAsync ()”
บล็อกตัวทำซ้ำปกติ (เช่น "ผลตอบแทน") ไม่เข้ากันกับ "async" และ "await" หรือไม่ สิ่งนี้ให้ความคิดที่ดีว่าฉันพยายามจะทำอะไร: async Task<IEnumerable<Foo>> Method(String [] Strs) { // I want to compose the single result to the final result, so I use the SelectMany var finalResult = UrlStrings.SelectMany(link => //i have an Urlstring Collection await UrlString.DownLoadHtmlAsync() //download single result; DownLoadHtmlAsync method will …

2
สร้าง IAsyncE เปล่าที่ว่างเปล่า
ฉันมีอินเตอร์เฟซที่เขียนแบบนี้: public interface IItemRetriever { public IAsyncEnumerable<string> GetItemsAsync(); } ฉันต้องการเขียนการใช้งานเปล่า ๆ ที่ไม่มีรายการคืนมาเช่น: public class EmptyItemRetriever : IItemRetriever { public IAsyncEnumerable<string> GetItemsAsync() { // What do I put here if nothing is to be done? } } หากเป็น IEnumerable ธรรมดาฉันจะreturn Enumerable.Empty<string>();แต่ฉันไม่พบอะไรAsyncEnumerable.Empty<string>()เลย วิธีการแก้ปัญหา ฉันพบสิ่งนี้ซึ่งใช้งานได้ แต่ค่อนข้างแปลก: public async IAsyncEnumerable<string> GetItemsAsync() { await Task.CompletedTask; …

1
แปลง IAsyncEnumerable เป็น List
ดังนั้นใน C # 8 เราจึงได้เพิ่มIAsyncEnumerableส่วนต่อประสาน หากเรามีสิ่งปกติIEnumerableเราสามารถสร้างListคอลเล็กชั่นอื่น ๆ ที่เราต้องการได้ ขอบคุณ Linq ที่นั่น var range = Enumerable.Range(0, 100); var list = range.ToList(); ตอนนี้ฉันต้องการแปลงIAsyncEnumerableเป็น a Listและแน่นอนแบบอะซิงโครนัส มีการใช้งาน Linq สำหรับกรณีนั้นหรือไม่? ถ้าไม่มีฉันจะแปลงเป็นตัวเองได้อย่างไร

1
ชี้แจงเกี่ยวกับวิธีที่ IAsyncEnumerable ทำงานร่วมกับ ASP.NET Web API
ฉันพบพฤติกรรมที่น่าสนใจขณะสำรวจ IAsyncEnumerable ในโครงการ ASP.NET Web API พิจารณาตัวอย่างรหัสต่อไปนี้: // Code Sample 1 [HttpGet] public async IAsyncEnumerable<int> GetAsync() { for (int i = 0; i < 10; i++) { await Task.Delay(1000); yield return i; } } // Code Sample 2 [HttpGet] public async IAsyncEnumerable<string> GetAsync() { for (int i = 0; i …
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.