Исключение это и есть ошибка?запланированная возможности ошибки (обычно высоко вероятной)
Exception
думали именно такstatic void print(this string s, string pfx = "", string sfx = "") => Console.WriteLine(pfx + s + sfx);
static void print(this IEnumerable<string> sa, string pfx = "", string sfx = "") => sa.ToList().ForEach(s => s.print(pfx, sfx));
static void print(this string s) => Console.WriteLine(s);
static void print(this IEnumerable<string> sa) => sa.ToList().ForEach(s => s.print());
using System;
using System.Diagnostics;
using System.Linq;
namespace ff.links
{
static partial class Program
{
static void Main(string[] args)
{
var sw = new Stopwatch();
sw.Start();
"let's begin...".print();
var finds = fromTypical().scan();
"find targets is ".print(pfx, finds.Count().ToString());
//finds.print();
var bro = finds.Where(b => b.Contains(ffBinary));
"find browsers is ".print(pfx, bro.Count().ToString());
bro.print(pfx);
var cfg = finds.Where(b => b.Contains(fflConfig));
"find configs is ".print(pfx, cfg.Count().ToString());
cfg.print(pfx);
var profiles = finds.Where(b => b.Contains(ffProfileSign));
"find profiles is ".print(pfx, profiles.Count().ToString());
//profiles.print();
profiles.buildLinks(bro.First());
//profiles.prefsApplay();
//links2start();
sw.Stop();
var ts = sw.Elapsed;
$"RunTime {ts.Hours:00}:{ts.Minutes:00}:{ts.Seconds:00}.{ts.Milliseconds:000}".print();
//#if DEBUG
// "press any key to continue...".print();
// Console.ReadKey();
//#endif
}
const string pfx = " ::> ";
}
}
Назовем натуральное число палиндромом, если его запись читается одинаковопро 393,1 не понятно
сначала и с конца (например: 4884, 393,1)
Где ошибка в коде?ошибки и в коде, ошибки в ходе мыслей
b
мало того что вы его не меняете, вы его еще и всегда обнуляете!!!using System;
using System.Linq;
namespace palindrome
{
class Program
{
static void Main(string[] args)
{
int p = 0;
string q = default, r = default;
for (int i = 1; i < 100; i++)
if ((q = (i * i).ToString()) == (r = new string(q.Reverse().ToArray())))
Console.WriteLine($"palindrome {++p} q={q} == r={r}"); ;
Console.WriteLine($"total: {p}");
}
}
}
Мне кажется, что вместо классов здесь должны быть интерфейсы?в тексте вопроса
Стоит ли использовать здесь перечисления?вы уж определитесь в хотелках:
сначала мне бы хорошо изучить шарп(вроде с этого и начинал, но потерялось, восстанавливаю) это лучшая отправная точка
и на понятном языкеэто явно главная проблема..
язык, как средство общения, становится коммуникабельным, лишь тогда, когда собеседники опираются на сходный жизненный опыт(с) Элан Уотс, "Путь Дзэн"
и обязательно с ... интерактивомну блин.. интерактив и книги??? это не совместимо..
using System;
namespace SomeNonStatic
{
class Program
{
delegate void someDelegate();
static void Main(string[] args)
{
var so = new SomeClass();
someDelegate sd = so.SomeNonStaticMethod;
Console.WriteLine($"someDelegate.Target == someObject => {sd.Target == so}");
(sd.Target as SomeClass).SomeMethod(); // а вот так почему-то нельзя
}
}
internal class SomeClass
{
internal void SomeNonStaticMethod() => Console.WriteLine("it's SomeNonStaticMethod");
internal void SomeMethod() => Console.WriteLine("it's SomeMethod");
}
}
using System;
namespace SomeNonStatic
{
class Program
{
delegate void someDelegate();
static void Main(string[] args)
{
var so = new SomeClass();
someDelegate sd = so.SomeNonStaticMethod;
Console.WriteLine($"someDelegate.Target == someObject => {sd.Target == so}");
if(sd.Target.GetType() is SomeClass)
(sd.Target as SomeClass).SomeMethod(); // а вот так почему-то нельзя
}
}
internal class SomeClass
{
internal void SomeNonStaticMethod() => Console.WriteLine("it's SomeNonStaticMethod");
internal void SomeMethod() => Console.WriteLine("it's SomeMethod");
}
}
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace parse_xxxx_000
{
static class Program
{
static void Main(string[] args)
{
"zit-101".parse().print();
"101-zit".parse().print();
"zit101".parse().print();
"101zit".parse().print();
}
static void print(this object o) => Console.WriteLine(o.ToString());
static (string, bool) parse(this string s)
{
bool valid = true; //полагаем, что индекс является группой
var parts = s.Split('-'); //разделяем на части по тире
if (parts.Length == 2) //если получили две части
{
//разбор первой части
string p1 = parts[0];
if (p1.Length == 3 || (p1.Length == 4 && Char.IsLetter(p1[3]))) //трехсимвольная часть, либо 4-символьная
{
//должно быть 3 больших буквы
for (int i = 0; i < 3; i++)
{
if (!Char.IsLetter(p1[i]))
{
valid = false;
break;
}
}
}
else
{
valid = false;
}
//если первая часть подходит, проверяем вторую
if (valid)
{
string p2 = parts[1];
if (p2.Length == 3) //трехсимвольная часть
{
//должно быть 3 цифры
for (int i = 0; i < 3; i++)
{
if (!Char.IsDigit(p2[i]))
{
valid = false;
break;
}
}
//проверка первой цифыр 1..5
if (valid)
{
int a = int.Parse(p2[0].ToString());
if (a < 1 || a > 5)
{
valid = false;
}
}
}
}
}
return (s, valid);
}
}
}
if (valid)
valid = (p2[0] >= '1') && (p2[0] <= '5');
valid = p2.All(c => Char.IsDigit(c));
//если первая часть подходит, проверяем вторую
if (valid)
{
//трехсимвольная часть
//должно быть 3 цифры
//проверка первой цифыр 1..5
string p2 = parts[1];
valid = p2.Length == 3 && p2.All(c => Char.IsDigit(c)) && ((p2[0] >= '1') && (p2[0] <= '5'));
}
static (string, bool) parse(this string s)
{
bool valid = true; //полагаем, что индекс является группой
var parts = s.Split('-'); //разделяем на части по тире
if (parts.Length == 2) //если получили две части
{
//разбор первой части
string p1 = parts[0];
if (p1.Length == 3 || (p1.Length == 4 && Char.IsLetter(p1[3]))) //трехсимвольная часть, либо 4-символьная
{
//должно быть 3 больших буквы
for (int i = 0; i < 3; i++)
{
if (!Char.IsLetter(p1[i]))
{
valid = false;
break;
}
}
}
else
{
valid = false;
}
//если первая часть подходит, проверяем вторую
if (valid)
{
//трехсимвольная часть
//должно быть 3 цифры
//проверка первой цифыр 1..5
string p2 = parts[1];
valid = p2.Length == 3 && p2.All(c => Char.IsDigit(c)) && ((p2[0] >= '1') && (p2[0] <= '5'));
}
}
return (s, valid);
}
static (string, bool) parse(this string s)
{
bool valid = true; //полагаем, что индекс является группой
var parts = s.Split('-'); //разделяем на части по тире
if (parts.Length == 2) //если получили две части
{
//разбор первой части
string p1 = parts[0];
if (p1.Length == 3 || (p1.Length == 4 && Char.IsLetter(p1[3]))) //трехсимвольная часть, либо 4-символьная
{
//должно быть 3 больших буквы
for (int i = 0; i < 3; i++)
{
if (!Char.IsLetter(p1[i]))
{
valid = false;
break;
}
}
}
else
valid = false;
//если первая часть подходит, проверяем вторую
valid &=
//должно быть 3 цифры
parts[1].Length == 3 &&
parts[1].All(c => Char.IsDigit(c)) &&
//проверка первой цифыр 1..5
((parts[1][0] >= '1') && (parts[1][0] <= '5'));
}
return (s, valid);
}
static (string, bool) parse(this string s)
{
bool valid = true; //полагаем, что индекс является группой
var parts = s.Split('-'); //разделяем на части по тире
if (parts.Length == 2) //если получили две части
{
//разбор первой части
valid &=
//должно быть 3 больших буквы .. на самом деле ты и не проверял большие
//трехсимвольная часть, либо 4-символьная
(parts[0].Length == 3 || parts[0].Length == 4) &&
parts[0].All(c => Char.IsLetter(c));
//если первая часть подходит, проверяем вторую
valid &=
//должно быть 3 цифры
parts[1].Length == 3 &&
parts[1].All(c => Char.IsDigit(c)) &&
//проверка первой цифыр 1..5
((parts[1][0] >= '1') && (parts[1][0] <= '5'));
}
return (s, valid);
}
static (string, bool) parse(this string s)
{
bool valid = true; //полагаем, что индекс является группой
var parts = s.Split('-'); //разделяем на части по тире
if (parts.Length == 2) //если получили две части
{
valid &=
//разбор первой части
//должно быть 3 больших буквы .. на самом деле ты и не проверял большие
//трехсимвольная часть, либо 4-символьная
(parts[0].Length == 3 || parts[0].Length == 4) &&
parts[0].All(c => Char.IsLetter(c)) &&
//если первая часть подходит, проверяем вторую
//должно быть 3 цифры
parts[1].Length == 3 &&
parts[1].All(c => Char.IsDigit(c)) &&
//проверка первой цифыр 1..5
((parts[1][0] >= '1') && (parts[1][0] <= '5'));
}
return (s, valid);
}
static (string, bool) parse(this string s)
{
var parts = s.Split('-'); //разделяем на части по тире
return (s,
//если получили две части
parts.Length == 2 &&
//разбор первой части
//должно быть 3 больших буквы .. на самом деле ты и не проверял большие
//трехсимвольная часть, либо 4-символьная
(parts[0].Length == 3 || parts[0].Length == 4) &&
parts[0].All(c => Char.IsLetter(c)) &&
//если первая часть подходит, проверяем вторую
//должно быть 3 цифры
parts[1].Length == 3 &&
parts[1].All(c => Char.IsDigit(c)) &&
//проверка первой цифыр 1..5
((parts[1][0] >= '1') && (parts[1][0] <= '5')));
}
текст в labelа у
label
скролов вообще не бывает exe
ни как. если только сохранять в отдельный файл - json
, csv
, xml
.. на самом деле много вариантов, хоть свой формат запилить а как "скопировать" эти самые "куски" из общей базы архива - я не знаю.таки смотрите сюда (если конечно у вас MS SQL, о чем можно предположить по разнообразным отрывкам)
IDownloadProgress.Status
вы узнаете когда будет 100%, но надо читать доки, возможно есть калбэк сообщающий конкретно о завершенииprogressHandler
, сделайте такой же и для аудио. когда оба отловят 100%, тогда время и объединять..tmp
, а потом копирование в целевую папку. об этом тоже надо искать инфу в доках на api. но когда отловите окончания загрузок, тайм ауты при необходимости, можно и экспериментально подбирать// подправил для наглядности
using System;
using System.Linq;
namespace SiO2
{
class Program
{
static void Main(string[] args)
{
var name = "SiO2 (полиморф.)";
var curTemp = 846.15;
var (h, s, a, b, c) = (-1f, -1f, -1f, -1f, -1f);
var names = new string[]
{
"SiO2 (β-кварц)",
"SiO2 (α-кварц)",
"SiO2 (α-тридимит)",
"SiO2 (β-кристобалит)",
"SiO2(к) кварц",
"SiO2(к) тридимит",
"SiO2(к) кристобалит",
"SiO2 (полиморф.)"
};
var values = new (float, float, float, float, float)[]
{
(-217.75F, 10.00F, 11.22F, 8.2F, -2.70F),
(-217.60F, 0.00F, 14.41F, 1.94F, 0.00F),
(-216.50F, 10.40F, 13.64F, 2.64F, 0.00F),
(-215.95F, 10.19F, 4.28F, 21.06F, 0.00F)
};
if (names.Contains(name))
{
if (curTemp <= 846.15)
(h, s, a, b, c) = values[0];
else if (curTemp >= 846.15)
(h, s, a, b, c) = values[1];
else if (curTemp >= 1143.15)
(h, s, a, b, c) = values[2];
else if (curTemp >= 1743.15)
(h, s, a, b, c) = values[3];
}
Console.WriteLine(h);
Console.WriteLine(s);
Console.WriteLine(a);
Console.WriteLine(b);
Console.WriteLine(c);
}
}
}
Выдает ошибку "Имя х не существует в данном контексте"правильно
if (k == 7)
{
pictureBox1.Image = Resources._7;
var x = DateTime.Now.ToString("ss:fff" );
}
// после этой фигурной скобки x уже не существует
var x = "";
if (k == 7)
{
pictureBox1.Image = Resources._7;
x = DateTime.Now.ToString("ss:fff" );
}
+
но это склейка строк. в C# нет динамического преобразования типов (хотя бывает приведение типов по умолчанию, но далеко не всегда)Как разделить полученные запросом данные по разным формам?а не надо делить