在我的应用程序中,我有一个项目列表,我需要按价格排序,并为每个项目设置排名/位置索引.我需要存储排名,因为之后价格可能会发生变化.目前我这样做:
var sortedlistKFZ = from res in listKFZ orderby res.Price select res;
if (sortedlistKFZ.Any())
{
int rankPosition = 1;
foreach (Result kfz in sortedlistKFZ)
{
kfz.MesaAdvertNumber = rankPosition;
rankPosition++;
}
}
Run Code Online (Sandbox Code Playgroud)
有更短的方法吗?
我已经构建了一个库,使用Console.WriteLine()转储其大部分调试文本;
我现在是在Windows窗体应用程序中使用库的过程,仍然需要访问控制台输出.(要在List/RichText框中显示)
我注意到我可以将控制台的标准覆盖到TextWriter,但是如何将这些数据放入显示器.
我试着做一些事情
public partial class Form1 : Form
{
Timer T;
MemoryStream mem;
StreamWriter writer;
public Form1()
{
InitializeComponent();
mem = new MemoryStream(1000);
writer = new StreamWriter(mem);
Console.SetOut(writer);
T = new Timer();
T.Interval = 250; // yes this probally is to short.
T.Tick += new EventHandler(T_Tick);
T.Start();
Console.WriteLine("output");
Console.WriteLine("AnotherLine");
}
void T_Tick(object sender, EventArgs e)
{
string s = Encoding.Default.GetString(mem.ToArray());
string[] Lines = s.Split(Environment.NewLine.ToCharArray());
Output.Items.Clear(); // Output is a listbox
foreach (string str in Lines)
Output.Items.Add(str);
}
} …Run Code Online (Sandbox Code Playgroud) 我试图从xml设置文件加载一个十六进制文字,我可以很好地解析xml并从文件中获取所需的字符串,
但我似乎无法设置一个int变量值:/
码:
int PlayerBaseAddress = System.Convert.ToInt32(ConfigLoader.GetSetting("PlayerBaseAddress"));
// Input string was not in a correct format.
public static string GetSetting(string Val)
{
// This loads from the xml file, Pretend its hardcoded to return a string of 0x17EAAF00
}
int PlayerBaseAddress = 0x17EAAF00; // This works.
Run Code Online (Sandbox Code Playgroud)