在我,KeyDown EventHandler我需要知道什么是KeyCode","和".".
我找不到他们,这就是我要问的原因.谢谢!
我记得我在某个地方有红色你可以创建一个带有无穷无尽的参数的方法.问题是我不记得怎么做了.我记得它是这样的:
private void method(int arguments...)
{
//method body
}
Run Code Online (Sandbox Code Playgroud)
我确定有" ...".而且我记得你打电话的时候method你可以这样称呼它:
method(3232);或者method(123,23,12);
如果有人理解我在说什么,请告诉我该怎么做.
我有这么简单的代码:
public static int GetInt(int number)
{
int[] ints = new int[]{ 3, 7, 9, int.MaxValue };
foreach (int i in ints)
if (number <= i)
return i;
return int.MaxValue; //this should be unreachable code since the last int is int.MaxValue and number <= int.MaxValue is allways true so the above code will allways return
}
Run Code Online (Sandbox Code Playgroud)
问题是编译器说不是每个执行路径都返回一个值.所以我必须编写永远不会达到的代码.我的问题是,在这样的情况下我该怎么办?我应该返回一些默认值还是应该抛出异常.另外,如果我想抛出异常,什么异常适合抛出?我没有找到类似的东西UnreachableCodeException.
我对这个问题KeyEventArgs的KeyCode和KeyData和KeyValue.
KeyCode并且Keydata是键类型,但我不知道它们之间有什么区别.因为KeyValue,我不知道它是什么 - 它有一个int类型,它是否返回char按下的键的值?
我对Key事件没有多少经验; 任何关于它们如何运作以及如何使用它们的解释将不胜感激.
我有一个tileset,但所有的tile都在一个图像中.我希望得到某种位图或图像数组中的每个图块.是否有某种方法可以做到这一点?
我正在一所学校建立一个学生数据库.这是我到目前为止所拥有的:

如果你不喜欢阅读跳转到"简短"部分
问题是我对这种设计不满意.我希望组合grade,subgrade并且id_class是唯一的,并作为学生表的主键.我可以student_id从3中删除并制作一个复合键,但我也不想要.也许我应该让另一个表让我们说combination_id在哪里grade,subgrade并且id_class是外键,并且有一个额外的列comb_id作为表的ID.所有列都是主键.但问题是,由于额外的列(comb_id),这3列仍然可以重复.例如,我可以有相同的grade,subgrade和class_id而不同comb_id,这将使因为表的4列的组合键行有效的(combination_id).
简而言之,我希望students_id仍然是表的唯一主键,但要成为另一个表的外键,它是某种独特的组合grades,subgrade和class_id.
如果我不够清楚,请在下面的评论中提出并提前感谢您.
PS 我很抱歉这个名字很难,但是我很难命名
编辑1:
更清楚:
grade可以是1到12
subgrade可以是一个到j
id_class可以是1到30这是你在班上的数字
因此,一个学生可以从7b班级和他的班级 - 5
我想创建一个简单的程序,打开任何给定的图像,并选择2种颜色:BackgroundColor和OutlineColor.然后围绕"对象"做一个轮廓.
到目前为止,这是我的代码:
for (int y = 1; y < height - 1; y++) //iterate trough every pixel
{ //in my bitmap
for (int x = 1; x < width - 1; x++)
{
//i want to put a pixel only if the the curent pixel is background
if (bitmap.GetPixel(x, y) != BackgroundColor)
continue;
var right = bitmap.GetPixel(x + 1, y);
var down = bitmap.GetPixel(x, y + 1);
var up = bitmap.GetPixel(x, y - 1);
var left …Run Code Online (Sandbox Code Playgroud) 假设我有这个类和接口
class User {
name: string;
age: number;
isAdmin: boolean;
}
interface IUser {
name: string;
age: number;
}
Run Code Online (Sandbox Code Playgroud)
然后我从某个地方得到这个 json 对象
const data = {
name: "John",
age: 25,
isAdmin: true
}
Run Code Online (Sandbox Code Playgroud)
我想子集data使用IUser和删除isAdmin属性这样
let user = subset<IUser>(data);
// user is now { name: "John", age: 25 }
// can safely insert user in the db
Run Code Online (Sandbox Code Playgroud)
我的问题是如何在 TypeScript 中实现该功能?
function subset<T>(obj: object) {
// keep all properties of obj that are in T
// …Run Code Online (Sandbox Code Playgroud) 我有这个代码:
private void timer_Tick(object sender, EventArgs e)
{
timer.Stop();
for (int i = 0; i < TOTAL_SENSORS; i++)
{
DateTime d = DateTime.Now;
devices[i].Value = float.Parse(serialPort.ReadLine());
if (chart1.Series[i].Points.Count > MAX_POINTS)
{
//see the most recent points
}
chart1.Series[i].Points.AddXY(d, devices[i].Value);
}
timer.Start();
}
Run Code Online (Sandbox Code Playgroud)
我的代码的这一部分是计时器的刻度事件,我绘制图表,我需要每次滴答都更新它.我继续添加点数,当点数达到MAX_POINTS(10)时,它删除第一个点并在第一个点添加一个新点.结束.
问题是,当它达到MAX_POINTS时,它开始在结束时删除点,图表不会自动滚动.所有积分都会被删除,并且不会添加新积分.
请帮助我说出我需要改变图表的工作方式,正如我所说的那样.
编辑1:我正在使用Windows窗体.
编辑2:AddXY和RemoveAt不是我的,他们来自积分集合.
编辑3:我也想知道如何拥有"范围"并查看过去一小时或上周或上个月的数据.
编辑4:我稍微改变了我的问题,我现在想缩放图表以显示最后一小时/天的点数
我有这个:
textBoxNano.Text = stats.Nano.ToString();
Run Code Online (Sandbox Code Playgroud)
问题是当stats.Nano(这是一个双倍)获得更多数字时,textBoxNano显示它:
1E-06
我想要的是正常显示更大的数字.Ex:
0.0000001
我试图通过.ToString("G10");但没有改变.
编辑: 好的我把它改为:
textBoxNano.Text = stats.Nano.ToString("F10");
Run Code Online (Sandbox Code Playgroud)
但现在我有另一个问题.它显示1像这样1.0000000000如何隐藏剩余的零?
我有:
@property float x(float[2] vector)
{
return vector[0];
}
@property void x(float[2] vector, float value)
{
vector[0] = value;
}
Run Code Online (Sandbox Code Playgroud)
我可以声明一个数组,例如float[2] a;稍后通过简单调用获取数组的第一个元素a.x,但是如果我想设置a[0],我就不能调用a.x = 3.14.它不会给编译器带来问题,也不会引发异常.后来当我得到a[0]它说它是NaN什么float.init.这意味着从未设置过[0]且a.x同时有效且无效.
我只想要一个float数组并有一个get和set属性x.有没有办法做到这一点?我知道我可以a.x(3.14)用于设置a[0],但我想让它好像x是一个成员属性a.
我一直在阅读和学习散列和哈希表,并使用一些代码(我还是很新的,所以我可能说错了,我很想念).我找到了完美哈希函数的问题.只要我有自己的自定义类型,它以某种方式具有完美的哈希函数:
class Foo
{
private int data;
override int GetHashCode()
{
return data.GetHashCode();
}
}
Run Code Online (Sandbox Code Playgroud)
一个int哈希代码就是它int自己,所以我有一个完美的哈希函数,对吧?但是当我们使用散列函数通过简单的公式将对象映射到散列表时:
index = foo.GetHashCode() % hashtable.Length
Run Code Online (Sandbox Code Playgroud)
我们得到一个变量索引,它取决于我们在哈希表中有多少元素.如果哈希表的大小只是int.MaxValue,那么我们将拥有一个完美的哈希函数.例如,假设我们有一个大小为2的哈希表.如果我们哈希,例如我们得到的数字1和3
1 % 2 = 1
3 % 2 = 1
Run Code Online (Sandbox Code Playgroud)
碰撞!我对哈希和哈希表有什么不妥吗?结果表明,完美的哈希函数并不完美.
c# ×9
.net ×5
keycode ×2
algorithm ×1
arguments ×1
arrays ×1
bitmap ×1
charts ×1
collections ×1
d ×1
datapoint ×1
double ×1
enums ×1
exception ×1
hash ×1
hashtable ×1
image ×1
interface ×1
key-value ×1
keyeventargs ×1
methods ×1
mysql ×1
oop ×1
outline ×1
perfect-hash ×1
properties ×1
sql ×1
tostring ×1
typescript ×1
uml ×1
vb.net ×1