char[] m = default;
// что означает вообще null
// где то чем то заполняем m
var m2 = m.Distinct();
// m2 будет иметь тип IEnumerable<char> и содержать только уникальные элементы
// если нужен массив, тогда так
var m2 = m.Distinct().ToArray();
// если нужен лист, тогда так
var m2 = m.Distinct().ToList();
// исходный m тоже может быть и List и IEnumerable, будет работать для любого варианта
может тебе дать еще ключ? .. от квартиры.. где деньги лежат..(с)
public Picture Filtration(Picture picture)
вы принимаете экземпляр картинки по ссылке (ибо это экземпляр класса, не какой то там int)public class Rootobject
{
public Friendslist friendslist { get; set; }
}
public class Friendslist
{
public Friend[] friends { get; set; }
}
public class Friend
{
public string steamid { get; set; }
public string relationship { get; set; }
public int friend_since { get; set; }
}
List<Friend>
или List<Friend>Friend[]
будут сериализоваться/десериализоваться одинаково. что выбрать в итоге, зависит исключительно от вашего удобства и стиля кодирования Есть сервис который по http отдает данные. Считываю данные таким образом:
WebClient client = new WebClient();
string s = client.DownloadString("213.125.32.5:83/axis-cgi/operator/param.cgi?action...");
В результате в s получаю Brand.ProdShortName=AXIS P3367.
http://213.125.32.5:83/axis-cgi/operator/param.cgi?action=list&group=Brand.ProdShortName
http://213.125.32.5:83/axis-cgi/motion/motiondata.cgi?group=0
у меня в браузере выглядит несколько иначе (но может и тоже практически так же.. у вас какое то логгирование? у меня просто отображение страницы в FF)using System;
using System.IO;
using System.Net;
using System.Text;
namespace WebStream
{
static class Program
{
static void Main(string[] args)
{
Console.WriteLine("let's begin..\n");
var myWebClient = new WebClient();
var myStream = myWebClient.OpenRead("http://213.125.32.5:83/axis-cgi/motion/motiondata.cgi?group=0");
var sr = new StreamReader(myStream);
while (!sr.EndOfStream)
{
var line = sr.ReadLine();
// возможно эту проверку можно и убрать, это как вам удобнее
if (!string.IsNullOrEmpty(line))
Console.WriteLine(line);
}
myStream.Close();
}
}
}
.. естественно совершенству нет предела. тут не учтена ни какая возможность выхода вообще. не рассмотрены варианты async (а они есть в природе). но как proof of concept пойдет )). уже гораздо лучше чем ничего ))using System;
using System.Data.SqlClient;
class Program
{
static void Main()
{
string str =
@"Data Source=(localdb)\MSSQLLocalDB;Initial Catalog=Northwind;Integrated Security=SSPI";
ReadOrderData(str);
}
private static void ReadOrderData(string connectionString)
{
string queryString = "SELECT SUM(Freight) FROM dbo.Orders;";
using (SqlConnection connection = new SqlConnection(connectionString))
{
SqlCommand command = new SqlCommand(queryString, connection);
connection.Open();
SqlDataReader reader = command.ExecuteReader();
// !1 ридер все таки должен выполнить считывание, даже если это одна строка
reader.Read();
// !2 запоршенное поле Freight имеет тип money, ближайший аналог decimal
// и мы имеем дело со строками БД, в которых подразумеваются колонки, доже если это одна колонка
var s = (decimal)reader[0];
Console.WriteLine(s);
reader.Close();
}
}
}
using System;
using System.Data.SqlClient;
class Program
{
static void Main()
{
string str =
@"Data Source=(localdb)\MSSQLLocalDB;Initial Catalog=Northwind;Integrated Security=SSPI";
ReadOrderData(str);
}
private static void ReadOrderData(string connectionString)
{
string queryString = "SELECT SUM(Freight) FROM dbo.Orders;";
using (SqlConnection connection = new SqlConnection(connectionString))
{
SqlCommand command = new SqlCommand(queryString, connection);
connection.Open();
var s = (decimal)command.ExecuteScalar();
Console.WriteLine(s);
}
}
}
добавленные строки (в файл после изменения) записываются в 3й файл и помечаются знаком +,сформулируйте четкие критерии измененной строки. допустим, после ряда совпадающих строк, обнаруживаться такие (в исходном и измененном файле соответственно):
соответственно удаленные - знаком -,
измененные знаком *
using (StreamReader srS = new StreamReader(pathS))
{
string lineS;
while ((lineS = srS.ReadLine()) != null)
{
SourceList.Add(lineS);
Console.WriteLine(lineS);
}
}
using (StreamReader srCh = new StreamReader(pathCh))
{
string lineCh;
while ((lineCh = srCh.ReadLine()) != null)
{
ChangeList.Add(lineCh);
Console.WriteLine(lineCh);
}
}
SourceList = File.ReadAllLines(pathS).ToList();
ChangeList = File.ReadAllLines(pathCh).ToList();