我正在使用C#控制台应用程序,并且我使用Console.WindowHeight增加了窗口的高度,但是现在窗口的底部在首次打开应用程序时会偏离屏幕.
在控制台应用程序中,是否有办法设置控制台窗口相对于屏幕的位置?我查看了Console.SetWindowPosition,但这只会影响控制台窗口相对于'屏幕缓冲区'的位置,这似乎不是我所追求的.
谢谢你的帮助!
我有一种方法可以将列表中某些学生对象的数据添加到数据表中.该方法检查studentList中满足特定条件的学生,然后将它们添加到数据表中.
我想在参数中指定条件,但是当我尝试将s.status作为我的第二个字符串参数传递时,我(理解上)会出错,因为在foreach循环开始之前s不会发挥作用.有没有办法让这项工作?
public void AddDataTableRows(DataTable datatable, string field, string condition)
{
foreach (student s in studentList)
{
if (field == condition)
{
datatable.Rows.Add(s.name,
s.totalDays,
s.improveOverall,
s.totalClassDays,
s.instructor,
s.grade);
}
}
}
Run Code Online (Sandbox Code Playgroud)
我想要的电话
AddDataTableRows(DataTable1, s.status, "active");
Run Code Online (Sandbox Code Playgroud) 我正在研究一种方法,该方法使用JSON.NET将马对象添加到JSON格式的马数据库中.一种选择是将整个文件反序列化为马匹列表,添加新马,然后序列化列表并重写整个文件.我在下面的代码中实现了这种方法.
// adds a horse to the db
public int AddHorse(Horse horse)
{
// identify and assign next available id to horse
var horses = GetAllHorses();
int nextId = horses.Max(h => h.ID) + 1;
horse.ID = nextId;
// Add horse to list
horses.Add(horse);
// Write entire list to JSON file. Can I just insert one new horse into the file?
using (FileStream fs = File.Open(_jsonHorseDbFilePath, FileMode.Create))
using (StreamWriter sw = new StreamWriter(fs))
using (JsonWriter jw = new JsonTextWriter(sw))
{
jw.Formatting …Run Code Online (Sandbox Code Playgroud) 我有一个包含两个字母 nvarchar 作为其内容的单元格,我想将其保存到一个简单的 nvarchar 变量中,但是,使用以下代码仅保存了两个字母单元格内容的第一个字母。
DECLARE @RC NVARCHAR = (SELECT Value FROM @scoreTable WHERE Metric = 'RC')
-- this returns 'ND' as expected
SELECT Value FROM @scoreTable WHERE Metric = 'RC'
-- but this returns 'N'! Why?
SELECT @RC
Run Code Online (Sandbox Code Playgroud)
我完全被难住了。如何将两个字母(即单元格的所有内容)保存到变量中@RC?
我有两个对象列表(列表1和列表2),我需要从列表1创建第三个对象列表,它们与列表2中的至少一个对象共享一个属性值.我创建了以下linq查询来执行此操作,但是,它很慢(在很大程度上,毫无疑问,因为两个起始列表最多可以包含200,000个对象).
(from obj1 in _list1
from obj2 in _list2
where obj1.SpecialId == obj2.SpecialId
select obj1)
.ToList();
Run Code Online (Sandbox Code Playgroud)
有没有更有效的方法在代码中实现它(可能首先没有使用linq)?