public static IEnumerable<int> ExtensionMethod(this IEnumerable<int> list, int percentline)
{
try
{
if (list.Count() <= 100 && list.Count() >= 1)
{
IEnumerable<int> count = list.OrderByDescending(sort => sort).Take((int)(list.Count() * percentline / 100.0f));
Console.WriteLine("Перечень элементов: \n" + string.Join(", ", count));
}
else
{
throw new ArgumentException();
}
}
catch (ArgumentException)
{
Console.Write("ОШИБКА!!!\n");
}
return list;
}
var list = new List<int>() { 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 };
list
.ExtensionMethod(10)
.ExtensionMethod(25);
Т.е. сделать свой препарсер, который будет отдавать потом запрос в нормальный парсер, который обрежет словоформы.
Дальше это нужно ранжировать. У нас OR, и я не очень понимаю, как будут распределяться веса
select json_flat_content , ts_rank_cd(json_flat_tsv, 'jzvmw | julva | qxqvh | name | value') r
from my_fulltext_index i
where
i.json_flat_tsv @@ to_tsquery('simple', 'jzvmw | julva | qxqvh | name | value')
order by r desc
[{"name": "qtmlx", "value": "jzvmw vajwq julva ipsmwtbhki lhgzr"}, {"name": "fslto", "value": "viykw"}] 0.6
[{"name": "lhnhq", "value": "sxgxh!!daxrh guxux!!kfgtirmgig!!ivqwz"}, {"name": "qxqvh", "value": "qbeli"}] 0.5
[{"name": "cepja", "value": "mrfma"}, {"name": "gwjqa", "value": "csxaf"}] 0.4
[{"name": "val", "value": "TNhmT<KxERm"}] 0.2
using MassTransit;
using System;
namespace GreenPipes.DynamicInternal.MassTransit
{
public class MyFault<T> : Fault<T>
{
public T Message => throw new NotImplementedException();
public Guid FaultId => throw new NotImplementedException();
public Guid? FaultedMessageId => throw new NotImplementedException();
public DateTime Timestamp => throw new NotImplementedException();
public ExceptionInfo[] Exceptions => throw new NotImplementedException();
public HostInfo Host => throw new NotImplementedException();
public string[] FaultMessageTypes => throw new NotImplementedException();
}
public class Fault: MyFault<object>
{
}
public class Program
{
static void Main(string[] args)
{
var fault = new Fault();
string typename = fault.GetType().FullName; //GreenPipes.DynamicInternal.MassTransit.Fault
}
}
}
var str = "test12!#@<смайлик>";
var utf16bytes = Encoding.Unicode.GetBytes(str);
var utf16reversed = Encoding.Unicode.GetString(utf16bytes); #test12!#@<смайлик>
как я понимаю если я буду менять значения в Dictionary1 то они будут меняться и в 2 и 3 словарях?
но если я буду менять значения в 2 и 3 словарях они не будут затрагивать друг друга?
то есть меняя значения в 2 словаре это никак не отразится на 3 словарь, я правильно понимаю?
А то просто во недавно столкнулся с такой проблемой что присвоил один словарь другому Dictionary2 = Dictionary1 потом 1й очистил и 2й автоматом тоже оказался очищенным
private Dictionary<string, ClassTest> Dictionary1 // переменная Dictionary1 типа Dictionary<>
= new Dictionary<string, ClassTest>(); //которая ссылается на объект Dictionary [id=1]
private Dictionary<string, ClassTest> Dictionary2 // переменная Dictionary2 типа Dictionary<>
= new Dictionary<string, ClassTest>(); //которая ссылается на объект Dictionary [id=2]
private Dictionary<string, ClassTest> Dictionary3 // переменная Dictionary3 типа Dictionary<>
= new Dictionary<string, ClassTest>(); //которая ссылается на объект Dictionary [id=3]
//Dictionary1 -заполняем данными
Dictionary2 = Dictionary1; //переменная Dictionary2 теперь ссылается туда-же, куда и переменная Dictionary1,
// т.е на Dictionary [id=1]
Dictionary3 = Dictionary1; //переменная Dictionary3 теперь ссылается туда-же, куда и переменная Dictionary1,
// т.е на Dictionary [id=1]
// a объекты Dictionary [id=2] и Dictionary [id=3] будут собраны сборщиком мусора, т.к. они больше не нужны
а как мне сделать 2 словаря по типу 1го, то есть у меня есть 1й словарь шаблон, я хочу чтобы 2й и 3й словари изначально так же и выглядели (имели все те же данные), но далее данные в них менялись независимо друг от друга?
var dict1 = new Dictionary<int, int>()
{
[1] = 2,
};
var dict2 = new Dictionary<int, int>(dict1);
dict1.Add(2, 3);
dict2.Add(2, 1);
var log = new Action<Dictionary<int,int>>((dict) =>
{
Console.WriteLine(string.Join(", ", dict.Select(c => $"{c.Key}={c.Value}")));
});
log(dict1); //1=2, 2=3
log(dict2); //1=2, 2=1
var user = ("Bob", 37);
var str = user switch {
("Tom", 36) => "name: Tom, age: 36",
("Bob", 37) => "name: Bob, age: 37",
_ => "Undefined"
}
Console.Writeline(str);
var dict = new OrderedDictionary();
dict.Add("test1", 1);
dict.Add("test2", 2);
dict.Add("test3", 3);
var first = dict["test1"];
var second = dict[1];
Console.WriteLine(first); #1
Console.WriteLine(second); #2
public interface IClass {
void DoSomething();
}
public class Class1: IClass {
public void DoSomething() { ... }
}
public class Class2: Class1{
public void DoSomethingFaster() { ... }
}
...
public void InvokeWorker(IClass worker){
if (worker is Class2 class2Worker){
class2Worker.DoSomethingFaster()
}
else {
worker.DoSomething();
}
}