gpt4 book ai didi

javascript - 是否有与 Node.js 一起使用的stream.on ('data' )类似的.NET Core?

转载 作者:太空宇宙 更新时间:2023-11-04 02:46:46 25 4
gpt4 key购买 nike

Stream 在 Node.js 中非常常见,而且非常容易处理。创建一个流非常简单,一旦我们有了一个流,我们就可以执行以下操作:

stream.on('data', (data) => {
// processing
});

处理来自流的数据。

是否有任何 .NET Core 类似的东西?我的意思是,我确实知道 .NET 非常不同,因为没有事件循环等等。

但我想知道,尽管与 Node.js 有本质上的不同,我们是否可以完成相同类型的行为。

最佳答案

最大的区别在于异步模型:C# 使用 async-await 进行异步,而不是回调。 API 中存在差异:您可以使用 Stream,它为您提供 byte[] 形式的数据(您必须自己分配)。或者您可以使用 StreamReader,它为您提供 char[] 形式的数据或 string 形式的行。

所以,您的选择是:

Stream.ReadAsync:

Stream stream = …;
byte[] buffer = new byte[1024];
int read;
while ((read = await stream.ReadAsync(buffer, 0, buffer.Length) != 0)
{
// processing
}

StreamReader.ReadAsync:

StreamReader stream = …;
char[] buffer = new char[1024];
int read;
while ((read = await stream.ReadAsync(buffer, 0, buffer.Length) != 0)
{
// processing
}

StreamReader.ReadLineAsync:

StreamReader stream = …;
string line;

while ((line = await stream.ReadLineAsync()) != null)
{
// processing
}

关于javascript - 是否有与 Node.js 一起使用的stream.on ('data' )类似的.NET Core?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39003010/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com