Раз в неделю буду выкладывать небольшие видео про ZennoPoster.
Подписывайтесь также в телеграмм канал - https://t.me/zennovolody00
Подписывайтесь также в телеграмм канал - https://t.me/zennovolody00
//1 подход
string str1 = "строка 1";
string str2 = str1.Clone().ToString();
str2 = "12345";
project.SendInfoToLog(str1); //строка 1 (не изменилась, хоть и ссылается на тот же объект)
//2 подход
string ostr1 = "строка 2";
string ostr2 = ostr1;
string str1 = "hello";
string str2 = "Hello";
int result = string.Compare(str1, str2, true);
project.SendInfoToLog(result.ToString()); //0 , т.к. игнорируем регистр
result = string.Compare(str1, str2, false);
project.SendInfoToLog(result.ToString()); //-1, несмотря на то, что h имеет большее число чем H. Если не ошибаюсь, то заглавные буквы считаются большими чем строчные
string str1 = "hello";
string str2 = "Hdfhdfhdfhfdh";
int result = str1.CompareTo(str2);
project.SendInfoToLog(result.ToString()); //1, т.к. h имеет большее число по unicode чем H
string str1 = "hello";
string str2 = "Hdfhdfhdfhfdh";
int result = string.CompareOrdinal(str1, str2);
project.SendInfoToLog(result.ToString()); //32, т.к. разница между h и H по unicode будет 32. остальные символы игнорируются
string result1 = string.Concat(new string[] {"1", "2", "3"});
string result2 = string.Concat(new object[] {"123", 123, true});
object o1 = 123;
object o2 = "123";
string result3 = string.Concat(o1, o2);
List<int> list = new List<int>() {
123,
456,
789
};
string result4 = string.Concat(list); //123456789
string s1 = "The quick brown fox jumps over the lazy dog";
string s2 = "fox";
StringComparison comp = StringComparison.Ordinal;
bool b = s1.Contains(s2);
char symb = '&';
bool bb = s1.Contains(symb);
string sourceString = "Hello, World!";
string copy = string.Copy(sourceString);
return copy;
string sourceString = "Hello, World!";
char[] destinationArray = new char[20];
sourceString.CopyTo(7, destinationArray, 2, 5); //с какого символа копируем в исходной строке, куда помещаем результат, куда вставляем результат (с какого индекса), сколько копируем из исходной строки
foreach(var s in destinationArray)
{
project.SendInfoToLog(s.ToString());
}
string msg1 = "Search for the target string";
bool result1 = msg1.EndsWith("string");
bool result2 = msg1.EndsWith("STRING", true, CultureInfo.CurrentCulture);
bool result3 = msg1.EndsWith("asdf", StringComparison.CurrentCulture);
project.SendInfoToLog($"{result1.ToString()}\n{result2.ToString()}\n{result3.ToString()}");
StringBuilder sb = new StringBuilder("abcd");
string str1 = "abcd";
string str2 = "abcd";
object o2 = "abcd";
bool result1 = str1.Equals(sb); //False
bool result2 = str2.Equals(o2); //True
string result = string.Format("Имя нашего персонажа {0}, а фамилия {1}", str1, str2);
return result;
Мы можем вставлять не только строки, но и другие базовые типы
double d = 2.05;
bool b = true;
string str = string.Format("это double {0}, а это bool {1}", d, b);
return str;
string str = "Вася Пупкин пошёл гулять"; //длина строки 24 символа
string result = string.Format("результат: {0, 30}", str); //добавим 6 пробелов в начало строки
return result;
double d = 1.05;
string result = string.Format("результат: {0:p}", d);
return result; //105, 00%
DateTime now = DateTime.Now;
CultureInfo cultureUs = new CultureInfo("en-US");
CultureInfo cultureRu = new CultureInfo("ru-Ru");
string resultUs = string.Format(cultureUs, "время для en-us: {0}", now);
project.SendInfoToLog(resultUs); // время для en-us: 7/12/2024 8:20:40 AM
string resultRu = string.Format(cultureRu, "время для ru: {0}", now);
project.SendInfoToLog(resultRu); // время для ru: 12.07.2024 8:20:40
string str = "вася";
CharEnumerator ch = str.GetEnumerator();
//принцип работы
ch.MoveNext(); //переходим к первому элементу в коллекции
project.SendInfoToLog(ch.Current.ToString()); //в
project.SendInfoToLog(ch.Current.ToString()); //в
ch.MoveNext(); //теперь к следующему
project.SendInfoToLog(ch.Current.ToString()); //а
//метод reset() сбрасывает действие метода MoveNext() и возвращает нас к началу
ch.Reset();
//пример перебора в цикле
while (ch.MoveNext())
{
project.SendInfoToLog(ch.Current.ToString()); //будет выводить по одному символу за круг, пока не пройдется по всем
}
//высвобождаем память (может и необязательно хз)
ch.Dispose();
//теперь наш ch уже не существует
try {
ch.MoveNext();
}
catch{
project.SendInfoToLog("ошибка, т.к. мы его уничтожили");
}
string str = "вася";
int result = str.GetHashCode();
return result;
string str = "вася";
TypeCode tc = str.GetTypeCode();
project.SendInfoToLog(tc.ToString()); //String
dynamic eks1 = "петя";
TypeCode eks1Tc = eks1.GetTypeCode();
project.SendInfoToLog(eks1Tc.ToString()); //String
var eks2 = "петя";
TypeCode eks2Tc = eks2.GetTypeCode();
project.SendInfoToLog(eks2Tc.ToString()); //String
var list = File.ReadAllLines(project.Path + "test.txt"); //в скобках путь к файлу
List<string> listStart = new List<string>() {
"строка 1",
"строка 2",
"строка 3",
"строка 4",
"строка 5",
"строка 6",
"строка 7"
};
List<string> listTwo = new List<string>() {
"строка 2",
"строка 321",
"строка 5",
"строка 5433",
"строка 4335345",
"строка 7"
};
//получаем только уникальные значения списка №2
var result = listTwo.Except(listStart).ToList();
//выводим в лог
result.ForEach(x=>project.SendInfoToLog(x)); //"строка 321", "строка 5433", "строка 4335345"
using System;
using Xceed.Words.NET;
class Program
{
static void Main()
{
string filePath = @"path\to\your\document.docx"; // Укажите путь к вашему документу
using (var document = DocX.Load(filePath))
{
// Чтение всего текста из документа
string allText = document.Text;
// Вывод текста на консоль или использование в других целях
Console.WriteLine(allText);
}
}
}
Можно в zip архив запаковать и прикрепить.P.S. А библиотеку то нельзя прикрепить. Ограничение на форуме сделали для dll файлов.