sqlCommandText = "SELECT * FROM table WHERE id='"+Id+"'"; // Смущает +Id+, так вроде не пишут, нужно @?
using var command = new SqliteCommand
{
CommandText = "SELECT id, txt, floating_point, raw_bytes FROM table WHERE id=$id",
Parameters = {
new SqliteParameter("$id", 123)
},
Connection = new SqliteConnection() // Тут стоит подставить настоящий connection
};
using var reader = await command.ExecuteReaderAsync(); // Вместо async-await можно использовать и синхронные методы
var data = new List<(int id, string text, double floatingPoint, byte[] blob>(); // Вместо кортежа можно нормальный тип
while (await reader.ReadAsync())
{
var id = await reader.GetFieldValueAsync<int>(0); //integer
var text = await reader.GetFieldValueAsync<string>(1); //text
var value = await reader.GetFieldValueAsync<double>(2); // real
var blob = await reader.GetFieldValueAsync<byte[]>(3); // blob
data.Add((id, text, value, blob));
}
SELECT "Items"."itemId", sum(price) / sum( sum(price) ) OVER ()
FROM "Items"
INNER JOIN "Purchases" USING("itemId")
GROUP BY "Items"."itemId"
$ cat file1.csv
kpi1,kpi2,kpi3,kpi4,kpi5
1.23,5.67,2.21,3.45,4.44
$ cat file2.csv
kpi1,kpi2,kpi3,kpi4,kpi5
0.23,5.67,2.22,3.45,2.44
cat file1.csv | head -1 | tr ',' '\n' > file3_1.csv
cat file1.csv | tail -1 | tr ',' '\n' | paste file3_1.csv - > file3_2.csv
cat file2.csv | tail -1 | tr ',' '\n' | paste file3_2.csv - > file3_3.csv
$ cat file3_3.csv
kpi1 1.23 0.23
kpi2 5.67 5.67
kpi3 2.21 2.22
kpi4 3.45 3.45
kpi5 4.24 2.44
cat file3_3.csv | awk '{print $0"\t"$2-$3}' > file3_4.csv
$ cat file3_4.csv
kpi1 1.23 0.23 1
kpi2 5.67 5.67 0
kpi3 2.21 2.22 -0.01
kpi4 3.45 3.45 0
kpi5 4.24 2.44 1.8
echo -e 'name\t$2\t$3\t$2-$3' | cat - file3_4.csv > file3_5.csv
$ cat file3_5.csv
name $2 $3 $2-$3
kpi1 1.23 0.23 1
kpi2 5.67 5.67 0
kpi3 2.21 2.22 -0.01
kpi4 3.45 3.45 0
kpi5 4.44 2.44 2
cat file3_5.csv | awk '$4>0{print "\033[41m"$0"\033[0m"}$4<=0{print}'
$ csview -t file3_5.csv
┌──────┬──────┬──────┬───────┐
│ name │ $2 │ $3 │ $2-$3 │
├──────┼──────┼──────┼───────┤
│ kpi1 │ 1.23 │ 0.23 │ 1 │
│ kpi2 │ 5.67 │ 5.67 │ 0 │
│ kpi3 │ 2.21 │ 2.22 │ -0.01 │
│ kpi4 │ 3.45 │ 3.45 │ 0 │
│ kpi5 │ 4.44 │ 2.44 │ 2 │
└──────┴──────┴──────┴───────┘
csview -t file3_5.csv | awk '$8>0{print "\033[41m"$0"\033[0m"}$8<=0{print}'
$ csview -t -s Markdown file3_5.csv
| name | $2 | $3 | $2-$3 |
|------|------|------|-------|
| kpi1 | 1.23 | 0.23 | 1 |
| kpi2 | 5.67 | 5.67 | 0 |
| kpi3 | 2.21 | 2.22 | -0.01 |
| kpi4 | 3.45 | 3.45 | 0 |
| kpi5 | 4.44 | 2.44 | 2 |
var direction = Vector3.Normalize(cube.position - transform.position); // Направление к красному кубу.
var start = transform.position;
var ray = new Ray(start, direction);
Debug.DrawRay(ray.origin, direction*1000);
Physics.Raycast(ray);
повторять всегда {
сообщение = прочитать();
если сообщение = "EXIT" то выйти;
сообщение2 = прочитать();
если сообщение2 = "EXIT" то выйти;
количество_повторений = прочитать_число(сообщение2);
повторять количество_повторений раз {
напечатать(сообщение);
}
}
while(true) {
Console.WriteLine("Введите сообщение");
var message = Console.ReadLine();
if (message == "EXIT") {
return;
}
Console.WriteLine("Введите количество повторений");
var message2 = Console.ReadLine();
if (message == "EXIT") {
return;
}
var count = int.Parse(message2); // по хорошему, надо бы как-нибудь обработать, если пользователь ввёл не число. В таком виде программа просто упадёт.
for(var i=0; i<count; i++) {
Console.WriteLine(message);
}
}
private void OnCollisionEnter(Collision collision)
{
if (collision.gameObject.CompareTag("FirstPart"))
{
Destroy(gameObject);
}
}
Для 2D:
private void OnCollisionEnter2D(Collision2D col)
{
if (col.gameObject.CompareTag("FirstPart"))
{
Destroy(gameObject);
}
}