Загрузка данных
using System.Collections.Generic;
namespace NameGenerator
{
public class NamesDB
{
public int idDB { get; set; }
public string regionDB { get; set; }
public string genderDB { get; set; }
public string nameDB { get; set; }
public string lastNameDB { get; set; }
public static List<NamesDB> name = new List<NamesDB>
{
new NamesDB{ idDB=1, regionDB="Славяне", genderDB="Мужской", nameDB="Александр", lastNameDB="Иванов"},
new NamesDB{ idDB=2, regionDB="Славяне", genderDB="Мужской", nameDB="Алексей", lastNameDB="Петров"},
new NamesDB{ idDB=3, regionDB="Славяне", genderDB="Мужской", nameDB="Иван", lastNameDB="Сидоров"},
new NamesDB{ idDB=4, regionDB="Славяне", genderDB="Мужской", nameDB="Геннадий", lastNameDB="Кузнецов"},
new NamesDB{ idDB=5, regionDB="Славяне", genderDB="Женский", nameDB="Анна", lastNameDB="Иванова"}
};
}
}
using System;
using System.Linq;
using System.Windows;
using System.Windows.Controls;
namespace NameGenerator
{
public partial class MainWindow : Window
{
int x = 0;
Random random = new Random();
public MainWindow()
{
InitializeComponent();
}
private void generatorBtn_Click(object sender, RoutedEventArgs e)
{
outTxt.Text = "";
for (int i = 0; i < count.Value; i++)
{
x = random.Next(1, 5);
randNames(x);
}
}
private void randNames(int x)
{
string region = regCmbBx.Text;
string gender = genderCmbBx.Text;
string nameTxt =
NamesDB.name.Where(w =>
w.idDB == x &&
w.regionDB == region &&
w.genderDB == gender)
.Select(t => t.nameDB)
.FirstOrDefault();
outTxt.Text += nameTxt + "\n";
}
private void count_ValueChanged(object sender,
RoutedPropertyChangedEventArgs<double> e)
{
try
{
countVal.Content =
Convert.ToString(Math.Round(count.Value));
}
catch { }
}
}
}
<Window x:Class="NameGenerator.MainWindow"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
Title="NameGenerator" Height="450" Width="800">
<Grid>
<Button Name="generatorBtn"
Content="Button"
HorizontalAlignment="Left"
Margin="376,376,0,0"
VerticalAlignment="Top"
Width="120"
Click="generatorBtn_Click"/>
<TextBox Name="outTxt"
HorizontalAlignment="Left"
Margin="12,10,0,0"
VerticalAlignment="Top"
Height="324"
Width="780"/>
<Slider Name="count"
HorizontalAlignment="Left"
Margin="302,350,0,0"
VerticalAlignment="Top"
Width="120"
Minimum="1"
Maximum="10"
ValueChanged="count_ValueChanged"/>
<ComboBox Name="regCmbBx"
HorizontalAlignment="Left"
Margin="52,348,0,0"
VerticalAlignment="Top"
Width="120">
<ComboBoxItem>Славяне</ComboBoxItem>
</ComboBox>
<ComboBox Name="genderCmbBx"
HorizontalAlignment="Left"
Margin="177,348,0,0"
VerticalAlignment="Top"
Width="120">
<ComboBoxItem>Мужской</ComboBoxItem>
<ComboBoxItem>Женский</ComboBoxItem>
</ComboBox>
<Label Name="countVal"
Content="0"
HorizontalAlignment="Left"
Margin="343,330,0,0"
VerticalAlignment="Top"/>
</Grid>
</Window>