2016-08-16 3 views
1

Допустим, у меня есть этот переменный в моих C# кодСкрыть или добавить новую строку в переменную

string longVariableStuff = "hsduifgnw8e7rty83rfgediguidogy7834rghf7834ghf170934hf7034hgf734gf8170g437fg73408g1f784g1387fg4731gf7g13fg18347gf78134gf7834gf780134gfuhsdjkfhsdjkafhldsj"; 

Каждый раз, когда я кодирование, это становится немного раздражает, когда я прокручиваю обратно его с клавиатурой и моим экраном прыгает вправо.

Есть ли хоть что-то, чтобы свести к минимуму его? Или, может быть, добавить новую линию посередине, чтобы я мог просмотреть все это без прокрутки вправо?

ответ

3

Конечно, вы можете просто разбить его:

string longVariableStuff = 
    "hsduifgnw8e7rty83rfgediguidogy7834rghf7834ghf170934hf7034hgf7" + 
    "34gf8170g437fg73408g1f784g1387fg4731gf7g13fg18347gf78134gf783" + 
    "4gf780134gfuhsdjkfhsdjkafhldsj"; 

Это не несет абсолютно никакой потери производительности, поскольку строка будет слито обратно в одну строку во время компиляции.

+0

Это хорошо работает! Спасибо =] – Dgameman1

1

@Blorgbeard, вероятно, имеет лучший ответ, но есть второй способ

string x = @"abcd 
abcd 
abcd 
abcd"; 

Получит тебя "abcdabcdabcdabcd". Другая версия намного чище, поэтому, вероятно, вы должны использовать это, я просто добавляю это как альтернативу.

Вторая идея, что технически решает вашу проблему, но это немного неуклюжим: Вы можете использовать область, чтобы скрыть его в визуальной студии, так что вы не должны смотреть на него, когда вы не должны.

#region my long string is in here 
string longVariableStuff = "hsduifgnw8e7rty83rfgediguidogy7834rghf7834ghf170934hf7034hgf734gf8170g437fg73408g1f784g1387fg4731gf7g13fg18347gf78134gf7834gf780134gfuhsdjkfhsdjkafhldsj"; 
#endregion 

Visual Studio позволит вам свернуть его, так что вы не должны смотреть на него, и это не повлияет на горизонтальную полосу прокрутки, как вы переместите курсор на него.

+3

Обратите внимание, что разрывы строк включены в строку. –

0

Использования C# дословного оператора MSDN

string multilinestring = @"my- 
multiline 
string"; 
+0

Не будет ли это добавить пробел? –

+0

Он добавляет пробелы, поэтому я оставил это оправданным, когда я дал в основном тот же ответ прямо перед этим. – Cody

+0

Вы правы, и мы ответили в то же время :) –

2

Если у вас есть действительно длинные строки это может быть проще управлять ими в качестве строкового ресурса.

Щелкните правой кнопкой мыши по проекту> Свойства> Ресурсы. В поле со списком выберите Strings. Введите имя ресурса и строку.

string resource in VS

После сохранения, вы должны быть в состоянии получить доступ к строке с

string s = Properties.Resources.MyStringName; 
-1

StringBuilder является производительным способом конкатенации длинных строк вместе.

Строчная интерполяция - еще один способ. $ "{a} {b}"

+0

Неверно. StringBuilder - это эффективный способ объединить * много * строк вместе (например, в цикле), * во время выполнения *. Обычная старая конкатенация строк - это эффективный способ объединить строки * литералы * вместе в * compile-time *. – Blorgbeard

Смежные вопросы