返回首页

您好,

任何人能帮助我以下的问题。我有一个从DataSet中的SQL Server返回的字符串值的负荷。我需要循环圆他们和他们一起连接成字符串,我可以发送手机短信。我需要做的是他们在可能的短信发送数量最少。作为一个文本消息最多160个字符,我需要尝试使用160个字符,尽可能为每个消息。我不能分裂之间的文本信息的价值的一部分,因为这将是没有意义的收件人。

任何人都可以在这里帮助 - 我没有一个线索从哪里开始这
许多感谢。

回答

评论会员:迈赫迪吴拉姆 时间:2012/02/04
尝试以下的半C#伪代码

StringBuilder sb = new Stringbuilder();

foreach row in datatable.rows

{

    string val = GetDataFromRowColumn();

    if(sb.Length + val.Length> 160)

    {

        SendMessage(sb.Tostring());

        sb = new StringBuilder();

    }

    sb.Append(val);    

}   

if(sb.Length>0)

   SendMessage(sb.ToString());

评论会员:游客 时间:2012/02/04
|GParkings:"假设字符串需要在他们收到的订单发送(我会寻找到另一种解决方案的情况下,这个假设是不正确)尝试线沿线的东西:codeprelang="c#"IList<spanclass="code-keyword"string/span>strings;spanclass="code-comment"///spanspanclass="code-comment"yourstringcollectionfromtheDB/spanIList<spanclass="code-keyword"string/span>messages=spanclass="code-keyword"new/spanList<spanclass="code-keyword"string/span>();spanclass="code-comment"///spanspanclass="code-comment"collectionoftxtmessagestrings/spanStringBuilderbldr=spanclass="code-keyword"new/spanStringBuilder(); spanclass="code-keyword"for/span(spanclass="code-keyword"int/spani=spanclass="code-digit"0/span;i<strings.Count;i++){spanclass="code-keyword"if/span(bldr.Length+strings[i].Length>spanclass="code-digit"160/span)spanclass="code-comment"///spanspanclass="code-comment"160shouldbeinaconstant/span{spanclass="code-comment"///spanspanclass="code-comment"addingthestringwouldputuspast160,sothemessageiscomplete/spanspanclass="code-comment"///spanspanclass="code-comment"'as-is'/spanmessages.Add(bldr.ToString());spanclass="code-comment"///spanspanclass="code-comment"putthecompletemessageinourlist/spanbldr.Clear();spanclass="code-comment"///spanspanclass="code-comment"startanewmessage/span} bldr.Append(strings[i]+spanclass="code-string""/spanspanclass="code-string""/span);spanclass="code-comment"///spanspanclass="code-comment"addthestringtothecurrentmessage/span} messages.Add(bldr.ToString());spanclass="code-comment"///spanspanclass="code-comment"addthelastmessage/span/pre/code
GParkings
评论会员:游客 时间:2012/02/04
因为我在我以前的解决方案的假设是不正确的,其实你找1的最佳合适的算法,将尝试填补最小容量流失的消息,我做了一个谷歌搜索上的位代您发现这样的:imgsrc=http://www.orcode.com/img/ico/smiley_tongue.gif这个例子是可变大小的"元素放入"垃圾箱"的概念应该是一样的,如果你认为160个字符的消息,作为"bin"和可变长度的字符串'元素'"希望帮助,或至少就足够了,直到CP的神胜过{S0}