【发布时间】:2018-08-11 04:38:10
【问题描述】:
我允许用户在一个字符串中输入 500 个字符。因为我只能在键/值对中输入 100 个字符。我必须从那个字符串中制作 5 个不同的字符串。也许用户只输入了 50 个字符或 209 个字符。代码如下:
private List<string> MakeCustomDataReadyForPromotion()
{
var setting = SettingsDbManager.Instance.GetSettingBaseOnTrackId(Settings.PromotionDetailsTrackId);
var restaurantTitle = setting.PromotionTitle;
var promotionBody = setting.PromotionBody;
List<string> message = new List<string>
{
restaurantTitle
};
if (promotionBody.Length > 400)
{
message.Add(promotionBody.Substring(0, 99));
message.Add(promotionBody.Substring(100, 199));
message.Add(promotionBody.Substring(200, 299));
message.Add(promotionBody.Substring(300, 399));
message.Add(promotionBody.Substring(400, promotionBody.Length - 1));
}
else if (promotionBody.Length > 300)
{
message.Add(promotionBody.Substring(0, 99));
message.Add(promotionBody.Substring(100, 199));
message.Add(promotionBody.Substring(200, 299));
message.Add(promotionBody.Substring(300, promotionBody.Length - 1));
}
else if (promotionBody.Length > 200)
{
message.Add(promotionBody.Substring(0, 99));
message.Add(promotionBody.Substring(100, 199));
message.Add(promotionBody.Substring(200, promotionBody.Length - 1));
}
else if(promotionBody.Length > 100)
{
message.Add(promotionBody.Substring(0, 99));
message.Add(promotionBody.Substring(100, promotionBody.Length - 1));
}
else
{
message.Add(promotionBody);
}
return message;
}
我要做的是获取一个 100 个字符的字符串并将其添加到列表中。请告诉我这里有什么问题?或者我该如何实现。
【问题讨论】:
-
我建议使用循环来分解它。即继续前进,直到没有人离开。这太笨拙了。
-
你能分享一个例子吗?