获取主机ip
invoke C#
string sHostName = Dns.GetHostName();
IPHostEntry ipE = Dns.GetHostEntry(sHostName );
IPAddress[] IpA = ipE.AddressList;
for(int i = 0;i<ipA.Length;i++)
{
Console.WriteLine(“IP Address{0}:{1}”,i,IpA[i].tostring())
}
筛选数据表
DT.AsEnumerable.Where(function(row) CDbl(row.Item(“字段”))<0).copyDatatable
获取datatable某一列的值 列表
(from d in datatable.asenumeranle() select d(“tittle”)).tolist()
保留几位小数
Formatnumber(小数,2,vbtrue)
round(小数,2)
//获取列表中重复的数值
int[] arr = { 1, 2, 3, 4, 5, 6, 7, 8, 9, 2, 5, 6, 8 };
var kist = (from r in arr
group r by r into g
where g.Count() > 1
select g.Key).ToList();
foreach (var i in kist)
{
Console.WriteLine(i);
}
Console.ReadKey();
string str11 = @"D:\学习视频\C#\xx.wav";
**//字符串截取文件名**
int index = str11.LastIndexOf("\\");
str11 = str11.Substring(index + 1);
**//获取文件名**
str11 = Path.GetFileName(str11);
**//获取文件名但不包含扩展名**
str11 = Path.GetFileNameWithoutExtension(str11);
//获取文件扩展名
str11 = Path.GetExtension(str11);
//获取文件所在文件夹的名称
str11 = Path.GetDirectoryName(str11);
//获取文件所在的全路径
str11 = Path.GetFullPath(str11);
//连接两个字符串作为路径
str11 = Path.Combine(@"C:\a\", "b.txt");
namespace ConsoleApp4
{
class Program
{
class DepartementClass
{
public int DepartmentId { get; set; }
public string Name { get; set; }
}
class EmployeeClass
{
public int EmployeeId { get; set; }
public string EmployeeName { get; set; }
public int DepartmentId { get; set; }
}
class pet
{
public string Name { get; set; }
public int Age { get; set; }
}
static void Main(string[] args)
{
//简单select
List<String> words = new List<string>() { "an", "apple", "a", "day" };
var query = from word in words
select word.Substring(0, 1);
foreach (string s in query)
Console.WriteLine(s);
//双层from
List<String> phrases = new List<String> { "an apple a day", "the quick brown fox" };
var query1 = from phrase in phrases
from word in phrase.Split(" ")
select word;
foreach (string s in query1)
Console.WriteLine(s);
Console.ReadLine();
//简单where
string[] words1 = { "humpty", "dumpty", "set", "on", "a", "wall" };
IEnumerable<string> query2 = from word in words1
where word.Length == 3
select word;
foreach (string str in query2)
Console.WriteLine(str);
//两个列表比对键取值
List<DepartementClass> departments = new List<DepartementClass>();
departments.Add(new DepartementClass { DepartmentId = 1, Name = "Account" });
departments.Add(new DepartementClass { DepartmentId = 2, Name = "Sales" });
departments.Add(new DepartementClass { DepartmentId = 3, Name = "Marketing" });
List<EmployeeClass> employees = new List<EmployeeClass>();
employees.Add(new EmployeeClass { EmployeeId = 1, EmployeeName = "ilinlin", DepartmentId = 1 });
employees.Add(new EmployeeClass { EmployeeId = 1, EmployeeName = "iin", DepartmentId = 2 });
employees.Add(new EmployeeClass { EmployeeId = 1, EmployeeName = "nlin", DepartmentId = 3 });
var list = (from e in employees
join d in departments on e.DepartmentId equals d.DepartmentId
select new
{
EmployeeName = e.EmployeeName,
DepartementName = d.Name,
});
foreach (var e in list)
{
Console.WriteLine("Emplyee Name = {0},Demartment Name = {1}", e.EmployeeName, e.DepartementName);
}
Console.ReadKey();
List<String> wordss = new List<String>() { "an", "a", "apple", "day" };
var query6 = from word in wordss
select word.Substring(0, 1);
//orderby排序
int[] num = { -20, 55, 23, 98, 44, 75, 36 };
var posNums = from n in num
orderby n descending
select n;
foreach(var i in posNums)
{
Console.WriteLine(i);
}
Console.ReadKey();
//group...by...分组
List<int> numbers = new List<int>() { 256, 45, 89, 36, 21, 77, 558, 62, 33 };
IEnumerable<IGrouping<int, int>> query9 = from number in numbers
group number by number % 2;
foreach(var group in query)
{
Console.WriteLine(group);
foreach (int i in group)
Console.WriteLine(i);
}
Console.ReadLine();
//Concat列表字典值合并 lambda表达式
IEnumerable<String> query7 = departments.Select(dep => dep.Name).Concat(employees.Select(emp => emp.EmployeeName));
foreach (var e in query7)
{
Console.WriteLine(e);
}
Console.WriteLine(departments.GetType());
Console.ReadKey();
//DefaultIfEmpty空集
pet barley = new pet() { Name = "Barley", Age = 4 };
pet boots = new pet() { Name = "Boots", Age = 1};
pet Whiskers = new pet() { Name = "Whiskers", Age = 6 };
pet BlueMoon = new pet() { Name = "Blue Moon", Age = 9 };
pet Daisy = new pet() { Name = "Daisy", Age = 3 };
List<pet> pats = new List<pet>() { barley ,boots, Whiskers, BlueMoon, Daisy};
foreach (var pat in pats.DefaultIfEmpty())
{
Console.WriteLine(pat.Name);
}
Console.ReadKey();
//range lambda表达式
IEnumerable<int> squares = Enumerable.Range(1, 5).Select(x => x * x); //lambda表达式
foreach (int num1 in squares)
{
Console.WriteLine(num1);
}
Console.ReadKey();
//out:1,4,9,16,25
//Repeat重复写3遍
IEnumerable<string> Joker = Enumerable.Repeat("Joker is handsome",3);
foreach (String j in Joker)
{
Console.WriteLine(j);
}
Console.ReadKey();
//Except排除重复值
double[] number1 = { 2.0, 2.1, 2.2, 2.3, 2.4, 2.5 };
double[] number2 = { 2.2 };
IEnumerable<double> onlyinFirstset = number1.Except(number2);
foreach (var i in onlyinFirstset)
{
Console.WriteLine(i);
}
Console.ReadKey();
//获取列表重复值
int[] id1 = { 44, 55, 22, 36, 89, 74, 51, 36 };
int[] id2 = { 11, 22, 33, 66, 77 };
IEnumerable<int> both = id1.Intersect(id2);
foreach (var k in both)
{
Console.WriteLine(k);
}
Console.ReadKey();
//union列表合并去重
IEnumerable<int> union = id1.Union(id2);
foreach (int h in union)
{
Console.WriteLine(h);
}
Console.ReadKey();
//SequenceEqual判断是否相等
pet joker = new pet() { Name = "joker", Age = 22 };
pet bank = new pet() { Name = "bank", Age = 24 };
pet liyinhang = new pet() { Name = "liyinhang", Age = 26 };
List<pet> pets1 = new List<pet>() { joker, bank };
List<pet> pets2 = new List<pet>() { joker, bank };
List<pet> pets3 = new List<pet>() { joker, bank, liyinhang };
bool equal1 = pets1.SequenceEqual(pets2);
bool equal3 = pets1.SequenceEqual(pets3);
Console.WriteLine("the list pets1 and pets2 {0} equal.", equal1 ? "are" : "not are");
Console.WriteLine("the list pets1 and pets3 {0} equal.", equal3 ? "are" : "not are");
Console.ReadKey();
//Random获取列表随机值
string[] names =
{ "Hartono, Tommy", "Adams, Terry", "Andersen, Henriette Thaulow",
"Hedlund, Magnus", "Ito, Shu" };
Random random = new Random(DateTime.Now.Millisecond);
string name = names.ElementAt(random.Next(0, names.Length));
Console.WriteLine("The name chosen at random is '{0}'.", name);
Console.ReadKey();
//First获取列表第一个和Last最后一个
int[] numbers1 = { 9, 34, 65, 92, 87, 435, 3, 54,
83, 23, 87, 435, 67, 12, 19 };
int first = numbers1.First();
int last = numbers1.Last();
Console.WriteLine(first);
Console.WriteLine(last);
Console.ReadLine();
//Environment.NewLine 换行 StringBuilder字符集
string[] tools = { "Tablesaw", "Bandsaw", "Planer", "Jointer", "Drill",
"Sander" };
var listt = from t in tools
select t;
StringBuilder sb = new StringBuilder();
foreach (string s in listt)
{
sb.Append(s + Environment.NewLine);
}
Console.WriteLine(sb.ToString(), "Tools");
Console.ReadLine();
}
}
}