Это - миф, который идет путем назад к тому, когда Java сначала вышел, и парни C++ не доверяли gc
, gc знает то, что это делает. обнуление привычки var повредило что-либо, но это привычка действительно помогает чему-либо также. Jeff имел довольно забавное сообщение на этом просто на днях.
Это то, что я сделал, но это не связано с использованием класса Rect:
Я определил правый боковой предел и определил, будет ли текущая строка больше заданных границ. Если это было так, я написал это. В противном случае я продолжал добавлять к нему.
foreach (string field in temp)
{
if (field == string.Empty)
{
continue;
}
else
{
tempSB.Clear();
tempSB.Append(sb.ToString());
tempSB.Append(field).Append(", "); //append the incoming value to SB for size testing
if (gfx.MeasureString(tempSB.ToString(), defaultFont).Width > 500) //if the incoming string is bigger than the right bounds, write it and clear SB
{
gfx.DrawString(sb.ToString(), defaultFont, blackBrush, 50, currentLine + defaultSpacing);
currentLine += 15;
sb.Clear();
sb.Append(" " + field).Append(","); //add the overflow to the beginning of the next line
}
else
{
sb.Append(field).Append(", "); //if it is not too big, append it
}
}
}
if (sb.Length > 0 && sb[sb.Length - 1] == ',') sb.Length--;
gfx.DrawString(sb.ToString(), defaultFont, blackBrush, 50, currentLine + defaultSpacing); //write out whatever has not already been written out
Я знаю, что опоздал на этот вопрос, но я надеюсь, что он может кому-то помочь.