2011-12-16 5 views
0

Я хочу использовать комбинацию символов возврата каретки/строки (Chr (13) + Chr (10)). Я использую пространство имен Microsoft.VisualBasic, но я получаю ошибкуsystem.linq.strings недоступен из-за уровня защиты снова

system.linq.strings недоступен из-за его защиты

string Wrap = Strings.Chr(13) + Strings.Chr(10); 
+0

"снова"? Тогда вы решили это однажды, прежде чем я предполагаю? –

+0

Возможный дубликат [system.linq.strings недоступен из-за его уровня защиты] (http://stackoverflow.com/questions/8527156/system-linq-strings-is-inaccessible-due-to-its-protection-level) –

+2

Почему вы используете пространство имен Microsoft.VisualBasic, если вы программируете на C#? –

ответ

0

Идиоматический способ сделать это в C#: string Wrap = "\r\n";. В этой ситуации, хотя, я бы просто поставить его в линию, как это:

MessageBox.Show("Encryption Complete\r\n\r\nTotal bytes processed = " 
       + lngBytesProcessed, // note: no need to convert to string 
       "Done", 
       MessageBoxButtons.OK, 
       MessageBoxIcon.Information); 
+0

Большое спасибо. Его работы отлично. – suleimankurawa

4

компилятор не может определить, какой Strings класс, который вы хотели бы использовать. Вы можете явно записать Microsoft.VisualBasic.Strings.Chr(13), чтобы помочь ему. Но в этом случае вы должны использовать Environment.NewLine. Он должен получить правильную комбинацию символов, независимо от вашей операционной системы.

-1

Вы получаете эту ошибку, потому что система пытается вызвать метод «String», который находится в «Microsoft.VisualBasic ». По какой-то причине он не находит его и пытается вызвать метод на «System.Linq». в вашем удалении System.Linq, если вы не используете какие-либо коллекции или ничего не делаете с Linq

0

\ r \ n гораздо более кратким и точным. попробуйте

const string wrap = @"\r\n"; 

вместо

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