ManagementObjectSearcher searcher
= new ManagementObjectSearcher("SELECT * FROM Win32_DisplayConfiguration");
// или new ManagementObjectSearcher("SELECT * FROM Win32_VideoController");
string graphicsCard = string.Empty;
foreach (ManagementObject mo in searcher.Get())
{
foreach (PropertyData property in mo.Properties)
{
if (property.Name == "Description")
{
graphicsCard = property.Value.ToString();
}
}
}
using System;
using System.Text;
using System.Collections.Generic;
public class Program
{
public static void Main()
{
Console.WriteLine(string.Join("|", Parse("Мама,\"мыла, блин\", раму,\"мама, мыла \"\"раму\"\"\",конец")));
}
public enum StateEnum{Start, StartQuot, Inline, InlineQuot}
public static IEnumerable<string> Parse(string str)
{
var state = StateEnum.Start;
var sb = new StringBuilder();
foreach(var ch in str)
{
switch(ch)
{
case '"':
switch(state)
{
case StateEnum.Start:
state = StateEnum.StartQuot;
continue;
case StateEnum.StartQuot:
case StateEnum.InlineQuot:
state = StateEnum.Inline;
sb.Append('"');
continue;
case StateEnum.Inline:
state = StateEnum.InlineQuot;
continue;
}
break;
case ',':
switch(state)
{
case StateEnum.Start:
case StateEnum.InlineQuot:
yield return sb.ToString();
sb.Clear();
state = StateEnum.Start;
continue;
case StateEnum.StartQuot:
case StateEnum.Inline:
sb.Append(',');
state = StateEnum.Inline;
continue;
}
goto default;
default:
sb.Append(ch);
break;
}
}
yield return sb.ToString();
}
}
string name = @"C:\Путь";
DirectoryInfo dir = new DirectoryInfo (name);
ChangeNameRecursive(dir);
void ChangeNameRecursive(DirectoryInfo dir)
{
int i = 0;
foreach(var item in dir.GetFiles())
{
File.Move (item.FullName, name + "test_" + i.ToString() + ".pp");
i++;
}
foreach(var d in dir.GetDirectories())
{
if(d.Name == "." || d.Name == "..") continue;
ChangeNameRecursive(d);
}
}
Console.OutputEncoding = System.Text.Encoding.UTF8;
chcp 65001
public class Lol : IChild, IParent
using System;
public class Test
{
public static void Main()
{
Lol l = new Lol();
Console.WriteLine(((IParent)l).Family);
Console.WriteLine(((IChild)l).Family);
Console.WriteLine(l.Name);
Console.ReadLine ();
}
}
public class IParent
{
public string Family { get { return "suck"; } }
}
public class IChild : IParent
{
public string Family { get { return "duck"; } }
}
public class Lol : IChild
{
public string Name { get { return "ross"; } }
}
// Вывод:
// suck
// duck
// ross
class Item
{
public string Name {get;set;}
public IEnumerable<Item> Children
{
get {/* тут код получения из базы подчинённых элементов*/}
}
}
<TreeView>
<TreeView.ItemTemplate>
<HierarchicalDataTemplate ItemsSource="{Binding Children}">
<TextBlock Text="{Binding Name}" />
</HierarchicalDataTemplate>
</TreeView.ItemTemplate>
</TreeView>
<ItemsControl ItemsSource="{Binding Path=MixedList}">
<ItemsControl.Resources>
<DataTemplate DataType="{x:Type local:MyFirstClass}">
<StackPanel><TextBox Text="{Binding Name}" /></StackPanel>
</DataTemplate>
<DataTemplate DataType="{x:Type local:MySecondClass}">
<StackPanel>
<TextBox Text="{Binding Property1}" />
<TextBox Text="{Binding Property2}" />
</StackPanel>
</DataTemplate>
</ItemsControl.Resources>
</ItemsControl>