我刚刚创建了一个C#控制台应用程序,可以读取.csv文件并以一种简洁的方式将其写入控制台,但是现在我想在WPF中使它更加整洁.
我之前的控制台应用程序如下所示:
class Program
{
static void Main(string[] args)
{
string[] tokens;
char[] separators = { ';' };
string str = "";
FileStream fs = new FileStream(@"D:\Dokumenter\Skole\6. semester\GUI\Exercises\Exercise2\02 deltagerliste.csv",
FileMode.Open);
StreamReader sr = new StreamReader(fs, Encoding.Default);
while ((str = sr.ReadLine()) != null)
{
tokens = str.Split(separators, StringSplitOptions.RemoveEmptyEntries);
Console.WriteLine(String.Format("{0,-20}", tokens[0]) +
String.Format("{0,-15}", tokens[1]) +
String.Format("{0,-15}", tokens[2]) +
String.Format("{0,-15}", tokens[3]));
}
Console.ReadLine();
}
}
Run Code Online (Sandbox Code Playgroud)
它工作得很好,但我必须承认,我很难找到从WPF应用程序开始的位置.
到目前为止,我已经使用.csv文件的四个标头(因为它有四列)构建了以下XAML代码,并且我假设我必须找到一种方法将相应的行放入相应的列中.
<Window x:Class="WpfApplication1.MainWindow"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
Title="Deltagerliste" Height="350" Width="525" WindowStartupLocation="CenterScreen" WindowState="Maximized"
Background="DeepPink"
>
<ListView HorizontalAlignment="Left" Height="320" VerticalAlignment="Top" Width="517"> …Run Code Online (Sandbox Code Playgroud) 所以我正在摆弄你如何为网店设计基本的数据库架构.当然,这里和那里有很多缺失的细节,但我只是想获得最基本的东西.
商店的一些基本要求,我正在尝试制作一个模式:
这家商店有产品库存.每种产品都有价格,但这个价格应根据销售情况而有所不同.客户可以一次订购多个产品,并且应该能够查看其订单历史记录.订单完成后,应该有跟踪和跟踪编号.
所以,下面的图片是我到目前为止所提出的.我确定缺少一些东西,我只是不确定是什么,以及如何模拟动态价格方面.
我有一个HttpListener,在这里我有兴趣看到请求客户端的IP地址。另外,还能看到客户端的DNS,但我不确定怎么办,因为据我所知,信息不是通过HTTP发送的?
无论如何,据我所知,我应该可以使用Request.UserHostAddress它,但是我只是在获取我的本地IP地址。我在这里做错了什么?
我应该在哪里获取客户端IP。
HttpListenerContext context = listener.EndGetContext(result);
string clientName = context.Request.UserHostAddress;
Run Code Online (Sandbox Code Playgroud)
我在服务器输出列表框中写出的位置有:
public static void TileString(int x, int y, int z, string dbName, string clientName)
{
int[] tileInts = { z, x, y };
string tileString = string.Join("/", tileInts);
Application.Current.Dispatcher.Invoke(new Action(() =>
{
var mainWindow = Application.Current.MainWindow as MainWindow;
mainWindow.AppendServerOutput("Delivering tile " + tileString + " in format [z, x, y]" + " from " + dbName + " to client " + clientName + "\n");
}));
}
Run Code Online (Sandbox Code Playgroud) 假设我有这个对象数组:
var input = new object[]
{
"Hello",
123,
true,
"Hats",
12,34,
'!'
};
Run Code Online (Sandbox Code Playgroud)
然后,我想按类型分组,然后返回一个字典,其中类型为键,每种类型的出现次数为值.我该怎么做呢?我现在已经将数组放入字典中,但是从这里开始我对它的处理方式有点困惑.