C# 使用定义的字符数限制字符串长度

C# 使用定义的字符数限制字符串长度,c#,string,split,C#,String,Split,有没有这样的方法:我有一个字符串,它可能有5000个字符,我的目标是将字符串拆分为每行100个字符,然后生成50行。如果你有意见,你能用c#告诉我吗?我使用了一种扩展方法: public static IEnumerable<string> SplitByLength(this string str, int maxLength) { for (int index = 0; index < str.Length; index += maxLength) {

有没有这样的方法:我有一个字符串,它可能有5000个字符,我的目标是将字符串拆分为每行100个字符,然后生成50行。如果你有意见,你能用c#告诉我吗?

我使用了一种扩展方法:

public static IEnumerable<string> SplitByLength(this string str, int maxLength)
{
    for (int index = 0; index < str.Length; index += maxLength)
    {
        yield return str.Substring(index, Math.Min(maxLength, str.Length - index));
    }
}
公共静态IEnumerable SplitByLength(此字符串str,int maxLength)
{
对于(int index=0;index
这里有一个LINQ方法:

var split =
    text
        .ToCharArray()
        .Select((c, n) => new { c, n })
        .GroupBy(cn => cn.n / 100, cn => cn.c)
        .Select(x => new string(x.ToArray()));

您觉得这个LINQ解决方案怎么样?

这就是您尝试过的吗?如果是这样的话,你可以通过问题下方的编辑按钮将其与你的问题合并。这不是我的解决方案,我的一位程序员朋友给出了解决方案,它可以工作
       string Deneme = "Deneme Deneme Deneme Deneme DenemeDeneme Deneme Deneme Deneme
                        Deneme Deneme Deneme DenemeDeneme ";
        string Sonuc = "";

        while (Deneme.Length > 0)
        {
            Sonuc += new String(Deneme.Take(3).ToArray()) + Environment.NewLine;
            Deneme= Deneme.Remove(0, Deneme.Length >= 3 ? 3 : Deneme.Length);  
        }