ZetCode

C# 连接字符串

最后修改于 2023 年 7 月 5 日

C# 连接字符串教程展示了如何在 C# 中使用 string.Join 连接字符串。

C# string.Join

string.Join 方法使用提供的分隔符连接指定数组或集合的元素。

Join(Char, Object[])
Join(Char, String[])
Join(String, IEnumerable<String>)
Join(String, Object[])
Join(String, String[])
Join(Char, String[], Int32, Int32)
Join(String, String[], Int32, Int32)
Join<T>(Char, IEnumerable<T>)
Join<T>(String, IEnumerable<T>)

有九个重载的 string.Join 方法。

C# 连接字符串 - 字符串列表

以下示例连接一个字符串列表。

Program.cs
var words = new List<string> {"falcon", "wood", "cloud", "cup", "sky", "water"};

var text = string.Join(',', words);
Console.WriteLine(text);

我们有一个单词列表。 我们使用逗号连接列表中的所有单词。

$ dotnet run
falcon,wood,cloud,cup,sky,water

C# 连接字符串 - 指定要连接的元素

我们可以指定要连接的元素。

Program.cs
var words = new string[] {"falcon", "wood", "cloud", "cup", "sky", "water"};

var text = string.Join(',', words, 0, 3);
Console.WriteLine(text);

在该示例中,我们连接数组的前三个元素。

var text = string.Join(',', words, 0, 3);

第三个元素是起始索引,第四个是要连接的元素数量。

$ dotnet run
falcon,wood,cloud

C# 连接字符串 - 对象数组

我们可以连接数组中的各种类型的对象。

Program.cs
object[] vals = { 1, 2.3, false, "falcon" };

var text = string.Join("-", vals);
Console.WriteLine(text);

我们有一个对象数组:一个整数、一个浮点数值、一个布尔值和一个字符串。 我们使用破折号字符连接所有这些对象。

$ dotnet run
1-2.3-False-falcon

C# 连接字符串 - LINQ 和 IEnumerable

在以下示例中,我们使用 LINQ 和重载的 Join 方法,该方法使用 IEnumerable

Program.cs
var words = new List<string> {"sky", "cup", "ocean", "dry", "tool", "rust"};

var text = string.Join(",", words.Where(e => e.Length == 3));
Console.WriteLine(text);

我们有一个单词列表。 我们连接列表中所有包含三个字母的单词。

$ dotnet run
sky,cup,dry

C# 连接字符串 - 记录

在以下示例中,我们连接记录。

Program.cs
var users = new List<User> { new ("John Doe", "garderner"), 
    new ("Roger Roe", "driver"), new ("Lucia Smith", "teacher")};

var text = string.Join("\n", users);
Console.WriteLine(text);

record User(string name, string occupation);

我们有一个用户列表。 我们用换行符连接它们。

$ dotnet run
User { name = John Doe, occupation = garderner }
User { name = Roger Roe, occupation = driver }
User { name = Lucia Smith, occupation = teacher }

C# 连接字符串 - 创建 ASCII 字母表

在下一个示例中,我们创建一个 ASCII 字母表。

Program.cs
int idx1 = 97;
int idx2 = 65;

var text = string.Join(" ", CreateAlphabet());
Console.WriteLine(text);

List<char> CreateAlphabet() {

    var vals = new List<char>();

    int span1 = idx1 + 25;
    for (int i = idx1; i <= span1; i++) 
    {
        vals.Add(Convert.ToChar(i));
    }

    int span2 = idx2 + 25;
    for (int i = idx2; i <= span2; i++) 
    {
        vals.Add(Convert.ToChar(i));
    }

    return vals;
}

在 ASCII 表中,有 25 个小写字母和 25 个大写字母。 它们的索引分别从 97 和 65 开始。

$ dotnet run
a b c d e f g h i j k l m n o p q r s t u v w x y z A B C D E F G H I J K L M N O P Q R S T U V W X Y Z

来源

string.Join 方法

在本文中,我们已经连接了 C# 语言中的字符串。

作者

我的名字是 Jan Bodnar,我是一位热情的程序员,拥有丰富的编程经验。 我自 2007 年以来一直在撰写编程文章。 迄今为止,我已经撰写了超过 1,400 篇文章和 8 本电子书。 我拥有超过十年的编程教学经验。

列出所有 C# 教程