int A = 0;
{
int A = 1;
int B = 1;
std::cout << A << "\n"; // 1
std::cout << B << "\n"; // 1
}
std::cout << A << "\n"; // 0
//std::cout << B << "\n"; // <-- error: B was not declared in this scope
Почему у меня при отладке (картинка 1), и при чужой отладке (картинка 2) в сегменте, внизу, где четыре строки es, значения совершенно отличаются, хотя это отладка одной и той же программы?
textBox1.Text
?@"G:\std\profiles\" + textBox1.Text
?Есть подозрениячто если
textBox1.Text
фрагмент пути, типа конкретное приложение или имя профиля тогдаif (File.Exists(@"G:\std\profiles\" + textBox1.Text + @"\cfg.txt"))
// со слешами тоже повнимательнее надо
но если textBox1.Text
альтернативное имя файла, видимо if (File.Exists(@"G:\std\profiles\" + textBox1.Text))
var testFiles = Directory.EnumerateFiles(solutionDirectory + @"\samples");
var sortedTestFiles1 = testFiles.OrderBy(x => x, new NaturalComparer());
// или
var sortedTestFiles2 = testFiles.ToList();
sortedTestFiles2.Sort(new NaturalComparer());
/// <summary>
/// Натуральное сравнение строк
/// </summary>
public class NaturalComparer : IComparer<string>
{
/// <summary>
/// Вызов WinApi-функции для натурального сравнения строк
/// </summary>
[DllImport("shlwapi.dll", CharSet = CharSet.Unicode)]
private static extern int StrCmpLogicalW(string psz1, string psz2);
/// <summary>
/// Натуральное сравнение строк
/// </summary>
/// <param name="x">Первая строка</param>
/// <param name="y">Вторая строка</param>
/// <returns>Сравнивает две строки, возвращая -1, 0 или 1</returns>
public static int Compare(string x, string y)
{
return StrCmpLogicalW(x, y);
}
/// <summary>
/// Натуральное сравнение строк
/// </summary>
/// <param name="x">Первая строка</param>
/// <param name="y">Вторая строка</param>
/// <returns>Сравнивает две строки, возвращая -1, 0 или 1</returns>
int IComparer<string>.Compare(string x, string y)
{
return StrCmpLogicalW(x, y);
}
}
Почему в вакансиях в требованиях большой стаж и нужен ли он?
Действительно ли указание такого большого стажа является оправданным?
void DoSomething (ICreatable layer) {
layer.Create();
}
DoSomething(new PerlinNoiseLayer())
Для генерации каждого слоя нужен разный набор параметров и генерируются они, соответственно, по-разномуНу вот у вас есть разница - вот и отобразите её в своем коде.
Это слой? - Да. - Ок, тогда посмотрим его высоты.Если есть такая необходимость - почему бы не ввести отдельный интерфейс для высот?
void DoSomething (IHasHeights layer) {
layer.Heights; // <== тут есть высоты
}
public abstract class Layer: ICreatable
{
float[,] Heights { get; set; }
public abstract void Create();
}
public class PerlinNoiseLayer : Layer
{
private float[,] _heights;
readonly int _resolution ;
public PerlinNoiseLayer (int resolution) {
_resolution = resolution;
}
public override void Create()
{
// тут расширение уже есть
}
}
У меня пока получается получить только полную строку адреса дома, по которому пользователь кликнул при помощи getAddressLine()
<...>
хотелось бы иметь что-то проще чем парсинг строки с адресом
getPremiseNumber{String|null} getPremiseNumber()
Возвращает номер здания (включая корпус, владение и прочие дополнительные признаки).
var proc = new Process
{
StartInfo = new ProcessStartInfo
{
FileName = "program.exe",
Arguments = "command line arguments to your executable",
// Перенаправдяем поток вывода
RedirectStandardOutput = true
}
};
proc.Start();
// Читаем поступающие к поток данные
while (!proc.StandardOutput.EndOfStream)
{
string line = proc.StandardOutput.ReadLine();
if( line.IndexOf("Username", StringComparison.InvariantCultureIgnoreCase) )
{
// что-то там делаем
}
}