var browser = new System.Windows.Controls.WebBrowser();
browser.NavigateToString(string strHtml);
var doc = new HtmlDocument();
doc.LoadHtml(html);
const string text = "dog";
var translateUrl = "https://dictionary.yandex.net/dicservice.json/lookup?ui=ru&text="
+ text + "&lang=en-ru&flags=23";
using (var wc = new WebClient())
{
wc.Encoding = Encoding.UTF8;
var resultHtml = wc.DownloadString(translateUrl);
dynamic trsJson = JObject.Parse(resultHtml);
var trs = trsJson.def[0].ts;
Console.WriteLine("Транскрипция: " + trs);
}
var fromAddress = new MailAddress(from);
var toAddress = new MailAddress(to);
var smtp = new SmtpClient
{
Host = "smtp.gmail.com",
Port = 587,
Timeout = -1,
EnableSsl = true,
DeliveryMethod = SmtpDeliveryMethod.Network,
UseDefaultCredentials = false,
Credentials = new NetworkCredential(fromAddress.Address, frompw)
};
using (var message = new MailMessage(fromAddress, toAddress)
{
Subject = subject,
Body = body
})
{
smtp.Send(message);
}
/// <summary>
/// Склонение существительных после числительных.
/// </summary>
/// <param name="iNumber">Число</param>
/// <param name="aEndings">Массив слов или окончаний для чисел (1, 4, 5)</param>
/// <returns>Вовращает вариант окончания или слова для числительного</returns>
public static string GetNumEnding(long iNumber, string[] aEndings)
{
string sEnding;
iNumber = iNumber%100;
if (iNumber >= 11 && iNumber <= 19)
{
sEnding = aEndings[2];
}
else
{
var i = iNumber%10;
switch (i)
{
case (1):
sEnding = aEndings[0];
break;
case (2):
case (3):
case (4):
sEnding = aEndings[1];
break;
default:
sEnding = aEndings[2];
break;
}
}
return sEnding;
}
GetNumEnding(notices.Count, new[] {"объявление", "объявления", "объявлений"})
private static void Main()
{
var list1 = new List<DB>
{
new DB {vopros = "1", url = "11"},
new DB {vopros = "2", url = "22"},
new DB {vopros = "3", url = "33"}
};
var list2 = new List<DB>
{
new DB {vopros = "2", url = "66"},
new DB {vopros = "3", url = "55"},
new DB {vopros = "5", url = "44"}
};
var except = list1.Except(list2, new DBComparer());
var except1 = list2.Except(list1, new DBComparer());
}
public class DB
{
public string vopros { get; set; }
public string otvet { get; set; }
public string url { get; set; }
}
public class DBComparer : IEqualityComparer<DB>
{
public bool Equals(DB x, DB y)
{
if (ReferenceEquals(x, y)) return true;
return x != null && y != null && x.vopros.Equals(y.vopros);
}
public int GetHashCode(DB obj)
{
return obj.vopros == null ? 0 : obj.vopros.GetHashCode();
}
}
Все библиотеки, которые встречал в них приходится явно указывать название папки с которой брать письма.
([\D])([\d])
$1 $2
dynamic parse = JObject.Parse(rawString);
string GenerateText(string text)
{
return GenerateText(text, "Без заголовка");
}
string GenerateText(string title, string text)
{
return title + Environment.NewLine + text;
}
string GenerateText(string title, string text = "Без заголовка")
{
return title + Environment.NewLine + text;
}
string GenerateText(string title, string text)
{
return title + Environment.NewLine + (text ?? "Без заголовка");
}
string GenerateText(string title, params string[] text)
{
return title + Environment.NewLine + string.Join(Environment.NewLine, text);
}
HttpClient client = new HttpClient();
var html = await client.GetStringAsync("http://example.com");
Далее:var parsedHtml = new HtmlAgilityPack.HtmlDocument();
parsedHtml.LoadHtml(html);