Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/vb.net/14.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何在VB.NET中将字符串转换为字符串数组?_.net_Vb.net_Arrays_String - Fatal编程技术网

如何在VB.NET中将字符串转换为字符串数组?

如何在VB.NET中将字符串转换为字符串数组?,.net,vb.net,arrays,string,.net,Vb.net,Arrays,String,我有一个函数,它接受字符串数组作为输入… 我有一个字符串要从该函数处理… 所以 我也尝试过: func(str.ToArray) // Gives error since it converts str to char array instead of String array. 如何解决此问题?使用String.Split方法按“空格”分割。详情如下: 如果一个字符接一个字符,那么就编写自己的函数来实现这一点 请尝试以下代码: Dim input As String = "charact

我有一个函数,它接受字符串数组作为输入…

我有一个字符串要从该函数处理…

所以

我也尝试过:

func(str.ToArray)  // Gives error since it converts str to char array instead of String array.

如何解决此问题?

使用
String.Split
方法按“空格”分割。详情如下:

如果一个字符接一个字符,那么就编写自己的函数来实现这一点

请尝试以下代码:

Dim input As String = "characters"
Dim substrings() As String = Regex.Split(input, "")
Console.Write("{")
For ctr As Integer = 0 to substrings.Length - 1
   Console.Write("'{0}'", substrings(ctr))
   If ctr < substrings.Length - 1 Then Console.Write(", ")
Next
Console.WriteLine("}")
' The example produces the following output:   
'    {'', 'c', 'h', 'a', 'r', 'a', 'c', 't', 'e', 'r', 's', ''}
Dim输入为String=“characters”
Dim substrings()作为字符串=Regex.Split(输入,“”)
Console.Write(“{”)
对于ctr,整数=0到子字符串。长度-1
Write(“{0}”,子字符串(ctr))
如果ctr

使用Regex,.

你是说like?此外,您还可以访问字符串中包含的字符。

只需实例化一个仅包含字符串的新数组即可

Sub Main()
    Dim s As String = "hello world"
    Print(New String() {s})
End Sub

Sub Print(strings() As String)
    For Each s In strings
        Console.WriteLine(s)
    Next
End Sub

你能把那个字符串放到一个数组里吗?我的VB已生锈,但请尝试以下操作:

Dim arr(0) As String
arr(0) = str

func(arr)

我不是VB专家,但对我来说这是最干净的方式:

func(New String() { str })
但是,如果这还不够清晰,您可以使用特定于字符串的扩展方法:

func(str.ToStringArray)
或以一般方式:

func(str.ToSingleElementArray)
以下是后者作为扩展方法:

<Extension> _
Public Shared Function ToSingleElementArray(Of T)(ByVal item As T) As T()
    Return New T() { item }
End Function
_
公共共享函数到SingleElementArray(Of T)(ByVal项作为T)作为T()
返回新的T(){item}
端函数

使用VB10,您只需执行以下操作:

func({str})
对于旧版本,您必须执行以下操作:

func(New String() {str})

您希望如何将其转换为数组?用空格分隔?不。。不是那样的。。只需将“mystring”转换为具有单个元素“mystring”的数组。否。。我不想让我的绳子断裂!!所以,我误解了你的问题…:(这很管用..但是我们可以用一种更简洁的方式吗..?更直观的方法,比如
str.tostringaray
或其他什么?您正在尝试创建一个新类型的对象(在本例中为String()),而不是您现有的对象。既然没有内置的方法,那么,通过hoops是“整洁”吗方法?你可以编写一个扩展方法来实现它。@Yugal Meta Knight's是我能想象到的最整洁的东西。只需添加两个大括号
Print({s})
当然可以..竖起大拇指..给Meta Knight!最干净的方法是
func({str})
,如中所示
func(New String() {str})