我仍然是C#的初学者,我知道有一种方法可以用来做到这一点,但我似乎无法在网上找到它。
我有一个排列单词的函数
static void Main(string[] args)
{
string[] list = "a b c d".Split();
foreach (string[] permutation in Permutations<string>.AllFor(list))
{
System.Console.WriteLine(string.Join(" ", permutation));
}
}
然而,它仅适用于被分解的单词。 (例如,&#34; abc d&#34;)因为这不是一个真正的方式来询问用户的输入,我想找到一种方法从用户那里取一个词(一个完整的词,如&#34;你好&#34;)并将其分解为理解的功能。例如。形成使用的输入词&#34; happy&#34;为节目理解=&#34; h a p p y&#34;
我试过这段代码:
//splits the word into an array
string[] arr = name.Split();
//splits the array with spaces to enter into the program
name = string.Join(" ",arr);
arr = name.Split();
但它最终还是以不间断的方式结束。有人能告诉我最简单的方法吗?
提到我仍然是C#的初学者和总体编程我可能不了解一些更高级别的概念。我在这个网站上得到了一些答案,我看到了一些我根本不懂的答案。
答案 0 :(得分:1)
你只需要将每个字符分开,然后用空格连接它们:
这是最简单的方式:
var userInput = Console.ReadLine();
var output = string.Join<char>(" ", userInput);
Console.WriteLine(output);
答案 1 :(得分:1)
您可以遍历字符串以将其转换为数组,然后使用Join
。
using System.Text.RegularExpressions;
using System;
public class Program{
public static void Main(string[] args) {
string v = "hello";
// Convert into the a string array, the old-fashioned way.
string[] name = new string[v.Length];
for (int i = 0; i < v.Length; i++)
name[i] = v[i] + "";
string feedToPermutationFunction = string.Join(" ",name));
// Feed the above string into your permutation code.
}
}
答案 2 :(得分:0)
char[] array=input.ToArray();
string val="";
for(int i=0;i<array.Length;i++)
{
val+=array[i]+" ";
}
这将为您提供一个字符串,其中包含您想要 Val 的空格 创建一个字符串长度为
的数组string[] strarray=new string[val.Length];
for(int i=0;i<strarray.Length;i++)
{
strarray[i]=val.Substring(i,len); //**i** is for string index,,,**len** string length in each index
}