by Anonymous » 26 Aug 2025, 12:01
Ist es möglich, eine Methode, die iAsyncenumerable ?
Code: Select all
public async IAsyncEnumerable GetFoosFromFile(string filename)
{
using (FileStream fs = File.OpenRead(filename))
{
var items = JsonSerializer.DeserializeAsyncEnumerable(fs);
await foreach (var item in items)
{
yield return item;
}
}
}
public async IAsyncEnumerable GetFoosFromString(string inputString)
{
using (MemoryStream ms = new MemoryStream(Encoding.UTF8.GetBytes(inputString ?? "")))
{
var items = JsonSerializer.DeserializeAsyncEnumerable(ms);
await foreach (var item in items)
{
yield return item;
}
}
}
Ist es möglich, alles in der Verwendung von nach seiner eigenen Methode neu zu gestalten? So etwas
Code: Select all
public async IAsyncEnumerable GetFoosFromFile(string filename)
{
using (FileStream fs = File.OpenRead(filename))
{
yield return GetFoosFromStream(fs);
}
}
public async IAsyncEnumerable GetFoosFromString(string inputString)
{
using (MemoryStream ms = new MemoryStream(Encoding.UTF8.GetBytes(inputString ?? "")))
{
yield return GetFoosFromStream(ms);
}
}
private async IAsyncEnumerable GetFoosFromStream(Stream inputStream)
{
var items = JsonSerializer.DeserializeAsyncEnumerable(ms);
await foreach (var item in items)
{
yield return item;
}
}
Ich konnte den Compiler hier nicht glücklich machen, und soweit ich die Wechselwirkung zwischen Ertrag erwarte ist im Grunde genommen unmöglich. Es gibt überhaupt keine Chance, alles im Gedächtnis zu halten. Daher der DeserializeAsyncenumerable in erster Linie.
Ist es möglich, eine Methode, die iAsyncenumerable ?[code]public async IAsyncEnumerable GetFoosFromFile(string filename)
{
using (FileStream fs = File.OpenRead(filename))
{
var items = JsonSerializer.DeserializeAsyncEnumerable(fs);
await foreach (var item in items)
{
yield return item;
}
}
}
public async IAsyncEnumerable GetFoosFromString(string inputString)
{
using (MemoryStream ms = new MemoryStream(Encoding.UTF8.GetBytes(inputString ?? "")))
{
var items = JsonSerializer.DeserializeAsyncEnumerable(ms);
await foreach (var item in items)
{
yield return item;
}
}
}
[/code]
Ist es möglich, alles in der Verwendung von nach seiner eigenen Methode neu zu gestalten? So etwas[code]public async IAsyncEnumerable GetFoosFromFile(string filename)
{
using (FileStream fs = File.OpenRead(filename))
{
yield return GetFoosFromStream(fs);
}
}
public async IAsyncEnumerable GetFoosFromString(string inputString)
{
using (MemoryStream ms = new MemoryStream(Encoding.UTF8.GetBytes(inputString ?? "")))
{
yield return GetFoosFromStream(ms);
}
}
private async IAsyncEnumerable GetFoosFromStream(Stream inputStream)
{
var items = JsonSerializer.DeserializeAsyncEnumerable(ms);
await foreach (var item in items)
{
yield return item;
}
}
[/code]
Ich konnte den Compiler hier nicht glücklich machen, und soweit ich die Wechselwirkung zwischen Ertrag erwarte ist im Grunde genommen unmöglich. Es gibt überhaupt keine Chance, alles im Gedächtnis zu halten. Daher der DeserializeAsyncenumerable in erster Linie.