根据最大长度构建字符串

时间:2014-01-21 11:09:19

标签: c# string datareader

使用while循环我正在迭代存储在数据库中的字符串值 -

            while (x.Read())
            {
                value = (string)(x["ROWVALUE"]);
                valueString += value ;

                if (valueString.Length > 300)
                {
                    valueString= valueString.Replace(value , "");
                }
            }

valueString的长度不允许超过300个字符,因此当命中该缓冲区时,我将删除最后一个值以使其保持在300以下。

我的问题是,一旦达到valueString的最大长度,我需要为剩余的值创建下一个valueString并重复此过程,直到检索到所有值。我怎么能做到这一点?

1 个答案:

答案 0 :(得分:0)

您可以将它们存储在列表中,例如:

List<string> valueStrings = new List<string>();
string value, valueString;
while (x.Read())
{
    value = (string)(x["ROWVALUE"]);    

    if (valueString.Length + value.Length > 300)
    {
        valueStrings.Add(valueString);
        valueString = value;
    }
    else
    {
        valueString += value;
    }
}
valueStrings.Add(valueString); //don't forget about the last one