代码之家  ›  专栏  ›  技术社区  ›  Fred

在方法签名中使用Span和内存替换数组?

  •  1
  • Fred  · 技术社区  · 7 年前

    将参数替换为 Span 在方法上?

    我是否应该替换所有数组(例如 byte[] char[] ,和 string[] )我的同步方法中的参数 (例如 Span<byte> Span<char> ,和 Span<string>

    public void Foo(byte[] bytes)
    

    使用:

    public void Foo(Span<byte> bytes)
    

    将参数替换为 Memory 在异步方法中?

    字节[] , 字符[] 字符串[] )我的异步方法中的参数 记忆 (例如 Memory<byte> , Memory<char> ,和 Memory<string>

    例子:

    public async Task FooAsync(byte[] bytes)
    

    使用:

    public async Task FooAsync(Memory<byte> bytes)
    

    将返回类型替换为 跨度 在方法上?

    字节[] 字符[] 字符串[] )方法中的返回类型 (例如 跨度<字节> 跨度<字符> ,和 )?

    例子:

    public byte[] Foo()
    

    使用:

    public Span<byte> Foo()
    

    • 跨度 受宠?
    • 数组作为返回类型是否不受欢迎?是 跨度 受宠?

    跨度 , ReadOnlySpan 记忆

    0 回复  |  直到 7 年前
    推荐文章