我相信 C# 一旦能够告诉结果就停止评估 if 语句条件。例如:
if ( (1 < 0) && check_something_else() )
// this will not be called
Run Code Online (Sandbox Code Playgroud)
由于条件(1 < 0)评估为false,&&因此无法满足条件,并且check_something_else()不会被调用。
C# 如何使用异步函数评估 if 语句?它是否等待双方返回?例如:
if( await first_check() && await second_check() )
// ???
Run Code Online (Sandbox Code Playgroud)
这会短路吗?
我已经搜索过这个,但是看起来很容易得到那些不理解这个问题的人的答案.
采用以下语法:
SET IDENTITY_INSERT Table1 ON
Run Code Online (Sandbox Code Playgroud)
你怎么做更像这样的事情:
GET IDENTITY_INSERT Table1
Run Code Online (Sandbox Code Playgroud)
我不想对数据库中的数据或设置做任何事情以获取此信息.谢谢!
我只是好奇为什么C#数组返回true他们的IsSerializable属性.数组没有任何Serializable属性,并且它们也没有实现ISerializable接口,那么为什么IsSerializable属性设置为true?
当我尝试下面的代码时,它在控制台中输出"True":
Console.WriteLine (new string[0].GetType().IsSerializable);
Run Code Online (Sandbox Code Playgroud)
输出是:
True
Run Code Online (Sandbox Code Playgroud)
我的.NET运行时版本是3.5.
我们正在使用MVP模式,我想知道如何处理GUI操作.
例如,当用户想要从网格中删除行时,用户按下删除按钮.此时你可以做两件事:
1)呼叫_presenter.DeleteRow(),然后主持人呼叫_view.SelectedRow.然后演示者调用view.AskUserForConfirmation(),当它返回时DialogResult.OK,演示者实际上删除底层对象并刷新网格.
2)该表格要求用户进行确认,并且当DialogResult是OK,那么presenter.Delete(myObject)被称为OR presenter.Delete()被称为和内Delete方法的对象是通过调用检索_view.SelectedRow.
你如何处理这些情况?
所以,我正在使用Google API使用他们的user_id来获取用户的个人资料图片.Google API会返回如下的JSON:
{
image: {
url: "https://lh5.googleusercontent.com/OGjgCn9fCPk/AAAAAAAAAAI/AAAAAAAAASU/AitRTc5cUyg/photo.jpg?sz=50",
isDefault: false
}
}
Run Code Online (Sandbox Code Playgroud)
我的问题是,这个网址是否有变化?我的意思是,如果用户更改其个人资料图片或发生某些CDN重组,它是否会改变.
我每次都需要取它吗?或者我可以永远保存并使用它吗?
如果不是他们可以保存的一段时间,直接使用它并在该时间过后刷新?
因此,如果我们更改个人资料图片,则URL会发生变化.现在,旧URL和新URL都指向相同的新配置文件图片.
是否有任何超时或Google将使旧网址无效的任何内容?或者他们两个会无限期地继续指向已更改的图片(以及任何未来的更改)吗?
我以为我已经理解了这个问题,但这里有些错误.当用户(我,到目前为止)试图按键时,没有真正发生的事情,我很难理解我错过了什么.
在我提出一些代码以帮助澄清我的问题之前考虑一下:我使用Android的Lunar Lander示例来制作我的第一个"真正的"Android程序.当然,在那个例子中,存在一个类LunarView,并且类嵌套在LunarThread中.在我的代码中,这些类的等价物分别是Graphics和GraphicsThread.
另外,我可以在Android上制作2D精灵动画.我有一个Player类,让我们说GraphicsThread有一个玩家成员称为"玩家".该类有四个坐标 - x1,y1,x2和y2 - 它们定义了一个矩形,其中将绘制精灵.我已经解决了这个问题,所以我可以完美地处理它.每当调用doDraw(Canvas canvas)方法时,它只会查看这些坐标的值并相应地绘制sprite.
现在让我们说 - 这不是我正在尝试用程序做的事情 - 我正在尝试制作程序,其中所做的只是在屏幕的一个位置显示播放器精灵直到用户第一次按下Dpad的左键.然后,该位置将被更改为屏幕上的另一个设置位置,并且精灵将在该位置被绘制用于该程序的其余部分.
另请注意,Graphics中的GraphicsThread成员称为"thread",GraphicsThread中的SurfaceHolder成员称为"mSurfaceHolder".
所以在类Graphics中考虑这个方法:
@Override
public boolean onKeyDown(int keyCode, KeyEvent msg) {
return thread.keyDownHandler(keyCode, msg);
}
Run Code Online (Sandbox Code Playgroud)
另请在GraphicsThread类中考虑这个方法:
boolean keyDownHandler(int keyCode, KeyEvent msg) {
synchronized (mSurfaceHolder) {
if (keyCode == KeyEvent.KEYCODE_DPAD_LEFT) {
player.x1 = 100;
player.y1 = 100;
player.x2 = 120;
player.y2 = 150;
}
}
return true;
}
Run Code Online (Sandbox Code Playgroud)
现在假设玩家的坐标开始为(200,200,220,250),当我按下Dpad时,他为什么不做任何不同的事情:左?
谢谢!
我收到以下错误:
1119: Access of possibly undefined property color through a reference with static
type mx.controls:Label.
Run Code Online (Sandbox Code Playgroud)
关于这一点的是,在MXML中,color是Label的一个属性.但如果我试着说:
lblUpgrade.color = "#000000";
Run Code Online (Sandbox Code Playgroud)
它抛出了这个错误.我一直试图找到最后45分钟的解决方法.我怎样才能在运行时设置它?谢谢!
假设您想要按以下方式执行操作:
SELECT CASE
WHEN (SELECT COUNT(id) FROM table WHERE column2 = 4) > 0
THEN 1 ELSE 0 END
Run Code Online (Sandbox Code Playgroud)
当表中有一行或多行时,基本上只返回1,否则返回0.必须有一种语法正确的方法来做到这一点.可能是什么?谢谢!
今天早上我在 C# 中创建了一个 MSTest 项目,对于其中一个 JSON 资源,Visual Studio 显示以下警告:
The type of schema applied to the document is not supported
Run Code Online (Sandbox Code Playgroud)
但是,工具提示中没有可让您抑制它的选项。然后我开始在项目设置中寻找特定的代码或其他东西;然而,无论出于何种原因,微软显然完整的编译器警告列表都没有列出这个。由于这是一个测试项目,我可能可以全面抑制所有警告并没问题,但这仍然不理想。
有没有办法通过手术来抑制这种情况,最好是在整个项目中都适用?
Visual Studio 17.4的更新更改了文本编辑器中的字体,使其非常细,阅读时眼睛有点疲劳。除了回滚更新之外,如何才能将其更改回来?
请注意,我对此进行了一些搜索,我看到了以下设置:
但我不知道该设置什么。人们在一篇或多篇其他帖子中提到了 Consolas 字体,但这似乎与之前的内容不符。我试过检查一下Bold。ETC。
我只需要它恢复到更新到 17.4 之前的“正常 Visual Studio 字体”,该字体的字母有足够的厚度,阅读起来不会感到不舒服。
c# ×3
sql ×2
sql-server ×2
.net ×1
android ×1
arrays ×1
async-await ×1
count ×1
google-api ×1
google-plus ×1
if-statement ×1
image ×1
label ×1
mvp ×1
mxml ×1
select-case ×1
settings ×1
user-input ×1
warnings ×1
winforms ×1