как в extetion написать метод который принемает List?
using System.Net.Http.Headers;
using System;
using System.Collections.Generic;
namespace wandioConsoleApp
{
class Program
{
static void Main(string[] args)
{
List<int> a = new List<int>() { 1, 2, 3, 4, 5 };
}
}
public static class Exts
{
public static T Sum<T>(this T a, T b)
{
return (dynamic)a + b;
}
}
}
Так как List не поддерживает оператор +, вам придётся перезагрузить функцию Sum, теперь класс Exts будет выглядеть так:
public static class Exts
{
public static T Sum<T>(this T a, T b)
{
return (dynamic)a + b;
}
public static List<T> Sum<T>(this List<T> a, List<T> b)
{
List<T> longest = a.Count > b.Count ? a : b;
List<T> smallest = a == longest ? b : a;
var res = new List<T>();
for (int i = 0; i < longest.Count; i++)
{
if (smallest.Count > i)
res.Add((dynamic)longest[i] + smallest[i]);
else
res.Add(longest[i]);
}
return res;
}
}
Ну и для примера я написал вот такую функцию Main():
public static void Main(string[] args)
{
var a = new List<int>() { 1, 2, 3, 4, 5 };
var b = new List<int>() { 0, 2, 3 };
Console.WriteLine(string.Join(" ", a.Sum(b)));
// вывод:
// 1 4 6 4 5
}
Айфон мало держит заряд, разбираемся с проблемой вместе с AppLab
Всем приветУ меня есть программа которая захватывает нажатые клавиши с клавиатуры на низком уровне и сохраняет клавиши в файл
У меня есть таблица с сообщениями, где sender_id указывает кто отослал, а recipient_id указывает кто принял, и есть таблица users, которая содержит инфу...