从C#中的Enumerable中获取精确x值的最佳方法是什么?如果我像这样使用Enumerable .Take():
var myList = Enumerable.Range(0,10);
var result = myList.Take(20);
Run Code Online (Sandbox Code Playgroud)
结果只有10个元素.
我想用默认值填充缺少的条目.像这样的东西:
var myList = Enumerable.Range(0,10);
var result = myList.TakeOrDefault(20, default(int)); //Is there anything like this?
Run Code Online (Sandbox Code Playgroud)
在C#中是否有这样的功能,如果没有,那么实现这一目标的最佳方法是什么?
我有一个 gradle 任务,它运行一些代码检查,通常在构建期间执行。由于此任务需要很长时间,因此我实现了一个标志,以便它不会在正常构建期间运行,但需要通过属性启用:
tasks.withType(MyTaskType) {
//config switch "-Pcheck=true"
enabled = project.getProperties().getOrDefault('check', false).equals('true')
}
Run Code Online (Sandbox Code Playgroud)
现在我可以通过以下方式在终端中启动它:./gradlew build -Pcheck=true
现在我还想要一个任务“buildWithCheck”,它设置此属性,然后执行构建任务。
我怎样才能做到这一点?我尝试过的:
task buildWithCheck {
doFirst{
project.getProperties().put('check','true')
}
dependsOn tasks['build']
}
Run Code Online (Sandbox Code Playgroud) 在我的工作中,我必须维护一些C#项目.最初的开发人员不在了.最近我注意到一些奇怪的代码主要出现在这样的情况:
try
{
//some Code
}
catch
{
0.ToString();
}
Run Code Online (Sandbox Code Playgroud)
有什么0.ToString()用?大多数代码是在压力下编写的,所以我可以想到两种可能性:
//TODO),可以搜索它,知道你在哪里修复一些东西.那还有其他用例或意义吗?这是好/坏编码风格还是练习?由于该指令不执行任何操作,它是否会对性能产生一些小的影响,或者编译器会将其删除吗?哪种方式更好
我有一个包含一些数据的屏幕.在屏幕内部,我有两个自定义控件(左侧和右侧).
我需要做的是以下内容:
将数据库中的一些数据绑定到第一个Custom控件中的某些控件.(填写列表,组合框等,而不是问题)
然后用户可以在列表中选择一个条目,按下按钮 - >第二个CustomControl现在应该可见; 根据选择请求DB中的一些数据并动态创建和显示图表.
所以我知道如何构建图表并构建控件.但是如何通过代码从屏幕访问数据并从第一个CustomControl中访问另一个CustomControl?
编辑:
我发现的事情.
从屏幕访问控制
this.FindControl("yourControl");
用控件做一些事情:
this.FindControl("yourControl").ControlAvailable += ( (o,e) => {
YourControlType myControl = e.Control as YourControlType;
});
访问屏幕数据
IContentItem dataContext = this.DataContext as IContentItem;
IScreenObject screen = dataContext.Screen;
IScreenProperty prop = screen.Details.Properties["yourProperty"];
VisualCollection<yourProperty> items = prop.Value as VisualCollection<yourProperty>;
Run Code Online (Sandbox Code Playgroud)显示新屏幕
Application.Current.Details.Dispatcher.BeginInvoke(() =>
Application.Current.ShowGraphScreen(reportItem.BlockID));
也许这会对某人有所帮助.
我有一个简单的 PHP 脚本,它向外部 API 发送带有一些参数的 GET 请求,并接收一些 json 数据作为响应。
我用过file_get_contents这个,它在过去几个月里有效。
例子:
$url = 'https://example.com?param1=xxx¶m2=yyy';
$data = file_get_contents($url);
Run Code Online (Sandbox Code Playgroud)
突然它停止工作,出现以下错误:
failed to open Stream: HTTP request failed!
HTTP1/1 426 Upgrade Required
Run Code Online (Sandbox Code Playgroud)
我用它替换了它cURL并且它起作用了:
function curlGet($url) {
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
$response = curl_exec($ch);
curl_close($ch);
return $response;
}
Run Code Online (Sandbox Code Playgroud)
我的问题是:
file_get_contents?我认为我服务器上的任何内容都没有改变。我也在本地测试了它,它有相同的问题/解决方案,所以我猜测外部服务器/API 发生了一些变化。
我正在使用 PHP7。
我是汇编程序和NEON编程的新手.我的任务是使用NEON指令将部分算法从C转换为ARM Assembler.该算法采用int32数组,从该数组加载不同的值,执行一些位移和Xor并将结果写入另一个数组.稍后我将使用64位值的数组,但是现在我只是尝试重写代码.
C Pseudo code:
out_array[index] = shiftSome( in_array[index] ) ^ shiftSome( in_array[index] );
Run Code Online (Sandbox Code Playgroud)
以下是关于NEON指令的问题:
1.)如果我加载这样的寄存器:
vld1.32 d0, [r1]
Run Code Online (Sandbox Code Playgroud)
它会从内存加载32Bit还是2x32Bit来填充64Bit Neon D-Register?
2.)如何访问D-Register的2/4/8(i32,i16,i8)部分?
3.)我试图从数组加载不同的值与偏移量,但它似乎不起作用...我做错了什么...这是我的代码:(它是一个整数数组所以我m试图加载例如3元素,它应该具有64Bit = 8 Byte的偏移量
asm volatile(
"vld1.32 d0, [%0], #8 \n"
"vst1.32 d0, [%1]" : : "r" (a), "r" (out): "d0", "r5");
Run Code Online (Sandbox Code Playgroud)
其中"a"是数组,"out"是指向整数的指针(用于调试).
4.)从数组加载一个值后,我需要将它移到右边,但它似乎不起作用:
vshr.u32 d0, d0, #24 // C code: x >> 24;
Run Code Online (Sandbox Code Playgroud)
5.)是否可以只在霓虹灯寄存器中加载1个字节,这样我就不必移动/屏蔽某些东西只能得到我需要的一个字节?
6.)我需要使用内联汇编程序,但我不确定最后一行是什么:
input list : output list : what is this for?
Run Code Online (Sandbox Code Playgroud)
7.)你知道任何有关代码示例的NEON参考资料吗?
该程序应该在三星Galaxy S2,cortex-A9处理器上运行,如果这有任何区别.谢谢您的帮助.
- - - - - - - - …