С новой строки си шарп

PROИТ

Office 365, AD, Active Directory, Sharepoint, C#, Powershell. Технические статьи и заметки.

C# Перенос строки в коде (символы @ и +)

Дано: текст кода на языке C#
Задача: перенести длинные строки на новую строку для улучшения визуального удобства чтения кода.

Если это длинная строка, содержащая определенный набор команд, то перенос можно сделать обычным нажатием Enter — дополнительных спецсимволов не требуется. В синтаксисе языка C# разрешается разносить команды на разные строки, однако не разрывая имен.
Например, есть следующие строки кода:

Их можно разбить, например, так:

Если же нужно разбить строковую переменную, то тут может быть 2 основных варианта.
Например, дана такая строка:

SELECT TOP 1 dep.intID, (SELECT cast(it.intNumber as nvarchar) + ',' as 'data()' FROM tblLinkDepartmentInTel lin INNER JOIN tblInTel it ON lin.intIDIntel = it.intID where lin.intIDDepartmet = dep.intID AND (lin.blnPublish = 1) order by it.intNumber for xml path('')) AS InTel, (SELECT et.strNumber + ',' as 'data()' FROM tblLinkDepartmentExTel let INNER JOIN tblExTel et ON let.intIDExtel = et.intID where let.intIDDepartmet = dep.intID and let.blnPublish = 1 order by et.strNumber for xml path('')) AS ExTel FROM tblDepartment dep WHERE dep.intID = 2 

Вариант 1, мультистрока с «@» — просто перед присвоением строки ставим символ @:
Например,

DataTable dtDepartments = new DataTable(); string strSQL = @"SELECT TOP 1 dep.intID, (SELECT cast(it.intNumber as nvarchar) + ',' as 'data()' FROM tblLinkDepartmentInTel lin INNER JOIN tblInTel it ON lin.intIDIntel = it.intID where lin.intIDDepartmet = dep.intID AND (lin.blnPublish = 1) order by it.intNumber for xml path('')) AS InTel, (SELECT et.strNumber + ',' as 'data()' FROM tblLinkDepartmentExTel let INNER JOIN tblExTel et ON let.intIDExtel = et.intID where let.intIDDepartmet = dep.intID and let.blnPublish = 1 order by et.strNumber for xml path('')) AS ExTel FROM tblDepartment dep WHERE dep.intID = @strDepartmentID";

Вариант 2, конкатенация с «+» — разбиваем строку на части и применяем стандартную конкатенацию:

DataTable dtDepartments = new DataTable(); string strSQL = "SELECT TOP 1 dep.intID, " + "(SELECT cast(it.intNumber as nvarchar) + ',' as 'data()' " + "FROM tblLinkDepartmentInTel lin INNER JOIN tblInTel it " + " ON lin.intIDIntel = it.intID" + "where lin.intIDDepartmet = dep.intID AND (lin.blnPublish = 1)" + "order by it.intNumber" + "for xml path('')) AS InTel," + "(SELECT et.strNumber + ',' as 'data()' " + "FROM tblLinkDepartmentExTel let INNER JOIN" + "tblExTel et ON let.intIDExtel = et.intID" + "where let.intIDDepartmet = dep.intID and let.blnPublish = 1" + "order by et.strNumber" + "for xml path('')) AS ExTel" + "FROM tblDepartment dep WHERE dep.intID = @strDepartmentID";

Если Вам понравилась статья, пожалуйста, поставьте лайк, сделайте репост или оставьте комментарий. Если у Вас есть какие-либо замечания, также пишите комментарии.

Читайте также:  Сделать строку числом php

Источник

Символы перехода на новую строку и возврат коретки

Assembler — сформировать новую строку, добавив символы перевода строки и коретки после каждого слова
Дана строка : «Assembler language programming is the fastest in the world.» Написать программу.

Возврат коретки
В чём отличие. Программы выводят разные данные? Думаю, что 1 код работает почему-то неправильно.

Событие перехода на новую строку
Доброго времени суток! У меня есть такой код private void dataGridView1_RowValidating(object.

Игнорирование перехода на новую строку
Добрый день! Использую VS’2013. Консольное приложение Win32. Возникла необходимость в консоли.

Эксперт .NET

string s = string.Empty; // или null foreach (Process p in Process.GetProcesses()) { s += p.ProcessName + "\r\n" /* или Environment.NewLine */; } MessageBox.Show(s);
StringBuilder sb = new StringBuilder(); foreach (Process p in Process.GetProcesses()) { sb.AppendLine(p.ProcessName); } MessageBox.Show(sb.ToString());

Эксперт .NET

body90, тем что «\n» — соответствует символу новой строки, «\r» — возврат каретки, и \r != \n. В Windows нет общего стандарта (имхо, я не видел) для перевода символов на новую строку, кто-то использует \n, кто-то \r\n, и вариант с \n может отображаться некорректно в некоторых редакторах. Лучший вариант использовать Environment.NewLine, т.к. это свойство зависит от версии ОС, но часто писать его лень )

Лучший вариант использовать Environment.NewLine, т.к. это свойство зависит от версии ОС, но часто писать его лень

public static string NewLine { get { return "\r\n"; } }

ЦитатаСообщение от Башир Посмотреть сообщение

string s = string.Empty; foreach (Process p in Process.GetProcesses()) { s = s + (char)13 + (char)10 + p.ProcessName; } MessageBox.Show(s);
s += (char)13 + (char)10 + p.ProcessName;

,то сначала происходит сложение (char)13 + (char)10 = (char)23, а после приведение к строке, т.е. «23»+p.ProcessName.
Во втором случае:

s = s + (char)13 + (char)10 + p.ProcessName;

Делюсь свои опытом: при написании эмулятора пользователя для Viber (не спрашивайте, почитайте сколько вайбер хочет брать с чат-ботов за сообщения), Environment.NewLine создавал эффект нажатия на ЕНТЕР (то есть каждая строка был как новое сообщение.
В свою очередь, символ перевода каретки «\n» просто переводил каретку на новую строку. Результат — полноценние сообщения)

Ввод с клавиатуры до перехода на новую строку
Добрый день! Столкнулся со следующей проблемой. Мне нужно написать фрагмент программы с вводом.

Отмена перехода на новую строку у textarea
Как отменить переход на новую строку, если пользователь жмёт Enter? И как можно переназначить.

Размер символа перехода на новую строку
Программа записывает в файл, а потом читает структуру такого типа: // размеры в файле.

Не считывается символ перехода на новую строку
Здравствуйте, такой вопрос. Я создал форму. Ввожу в нее текст, отправляю запрос, все работает.

cin без перехода на новую строку
Как сделать, чтобы после считывания cin курсор не переводился на новую строку, а оставался на.

Считывание перехода на новую строку в jTextPane
Здравствуйте. Проблема вкратце: Считываю текст с jTextPane и шифрую его. Пробелы, переход на.

Источник

Multiple ways to add newline into a String in C#

In our C# tutorial, you can read about C# strings , C# String Interpolation or Console.WriteLine() in C# print string with newline, but in this article I have provided multiple ways to insert a newline break into a string using C# Console application examples.

Table of Contents

Adding a New line using Environment.NewLine in a given string after a specific character

Suppose, you already have a string and you want to add a NewLine after a specific character, let’s say «#», you want to replace all occurences of «#» in a given string with a newline, then you can simply use Environment.NewLine

var CurrentStr="Hello World#Welcome to qawithexperts#Thanks for reading";

Then you can use the below C# Console Application C#

using System; public class Program < public static void Main() < var CurrentStr="Hello World#Welcome to qawithexperts#Thanks for reading"; //.Replace("oldCharacter","NewCharacter") //here oldCharacter =# //NewCharacter = New Line CurrentStr = CurrentStr.Replace("#", System.Environment.NewLine); Console.Write(CurrentStr); >>
Hello World Welcome to qawithexperts Thanks for reading

Adding New Line using «\n» in C#

For above example, you can also use » \n » instead of System.Environment.NewLine , so considering above example, we can have below C# code

 var CurrentStr="Hello World#Welcome to qawithexperts#Thanks for reading"; CurrentStr = CurrentStr.Replace("#", "\n"); Console.Write(CurrentStr);

Adding Line Break using Console.WriteLine()

You can also simply use Console.WriteLine() to add line break in your current solution.

Suppose, you want to simply add a blank line and want to move cursor in your console application to next line, you can simply use Console.WriteLine(), as shown in the below example

using System; public class Program < public static void Main() < Console.WriteLine("Hello World"); // This will print text and also move cursor to next line Console.WriteLine("Welcome to qawithexperts"); Console.WriteLine("Thanks for reading example using Console.WriteLine()"); >>
Hello World Welcome to qawithexperts Thanks for reading example using Console.WriteLine()

Multiple Lines using Single Console.WriteLine()

Suppose, you want to show multiple text line using 1 Console.WriteLine() , then you can simply add «@» the beginning of the Console.WriteLine() string and split text in lines.

 Console.WriteLine(@"Hello World Welcome to qawithexperts Multiple lines using Single Console.WriteLine");
Hello World Welcome to qawithexperts Multiple lines using Single Console.WriteLine

That’s it, these are some of the ways to add new line in C#, but easiest one if to use «\n» or using Console.WriteLine().

Источник

Оцените статью