c#和VB.NET之间的线程转换

本文关键字:线程 转换 之间 NET VB | 更新日期: 2023-09-27 18:08:39

我想把下面的c#代码转换成VB。净

public byte[] TextToBytes(string textToSpeak)
{
    byte[] byteArr = null;
    var t = new System.Threading.Thread(() =>
    {
        SpeechSynthesizer ss = new SpeechSynthesizer();
        using (MemoryStream memoryStream = new MemoryStream())
        {
            ss.SetOutputToWaveStream(memoryStream);
            ss.Speak(textToSpeak);
            byteArr = memoryStream.ToArray();
        }
    });
    t.Start();
    t.Join();
    return byteArr;
}

我尝试了各种各样的东西,并使用了一个在线转换器,但即使是在线转换器也不确定如何处理线程的事情。

有谁能伸出援助之手吗?谢谢你!

c#和VB.NET之间的线程转换

c#中的() =>表示lambda表达式。在VB中,根据是否返回值,用Function()Sub()表示。

Dim t = New System.Threading.Thread(Sub()
    Dim ss As New SpeechSynthesizer()
    Using memoryStream As New MemoryStream()
        ss.SetOutputToWaveStream(memoryStream)
        ss.Speak(textToSpeak)
        byteArr = memoryStream.ToArray()
    End Using
End Sub)