C# 中的 VB6 字符串函数
本文关键字:函数 字符串 VB6 中的 | 更新日期: 2023-09-27 18:21:00
If Left(strText, 3) = "De " Then
Mid(strText, 1, 1) = "d"
ElseIf Left(strText, 4) = "Van " Then
Mid(strText, 1, 1) = "v"
End If
上面的 VB 代码需要转换为 C#。
我知道中左是
strText.Substring(1,1) and strText.Substring(0, 4)
但如果我做不到
strText.Substring(1,1) = "v";
我需要做吗..
strText.Replace(strText.Substring(1,1), "v"))
相反?
VB6 代码中没有注释。所以我只是猜测这里发生了什么。
编辑:对不起,错误的代码版本
第一个代码块测试字符串是否以字符Van
开头,如果是,则用v
替换第一个字符。
因此,最简单的替换是:
if(strText.StartsWith("De ")) {
strText = "d" + strText.Substring(1);
}else if(strText.StartsWith("Van ")) {
strText = "v" + strText.Substring(1);
}
strText = "v" + strText.Substring(1)
请注意,数组索引从 0 开始。我假设您正在尝试将"v"放在字符串中的第一个字符位置(即 0(。
编辑:请注意,与VB6示例相比,.net中的字符串是不可变的(即无法就地修改字符串的内容(,您可以在其中使用Mid
或Left
在指定的字符位置设置值。
以下内容将返回一个包含修改内容的新字符串,该字符串应重新调整回strText
以便您覆盖原始内容。
strText.Replace(strText.Substring(1,1), "v"))
此外,这不是一个好方法,因为有两件事1(如果strText是"van","strText.Substring(1,1(将返回"a"
2(strText.Replace(strText.Substring(1,1), "v"))
将替换所有"a",而不仅仅是第一个。