Residual和Join谓词之间有什么区别?
如果我没有错过一个微妙,他们是完全一样的.为什么通过对同一件事使用两个不同的词来混淆新手?
嘿伙计们,我正试图了解LINQ和FP,如果这是天真的话请原谅我.我正在尝试使用LINQ进行一些字符串解析并映射到一个函数,所以我需要将我的字符串拆分成更小的字符串.
我想将数组拆分为两个较小的列表.我可以使用reduce(.Aggregate())来执行此操作吗?我试图找出如何应用reduce来返回列表,但我没有运气.
我想要的是:
myString.ToCharArray().Take(2)
Run Code Online (Sandbox Code Playgroud)
映射到每一个元素.我无法绕过我的脑袋如何减少列表而不将每个元素应用于每一个元素,而不是每一个元素.
具体例子.
给定(1,2,3,4,5,6)
我想要((1,2),(3,4),(5,6))
澄清:
给出"abcdef"
我想要"ab","cd","ef"
为你们的帮助干杯.
我有一个类,它是通过XSD.exe工具从XML文件生成的.我的类包含一个包含元素的数组.
直到最近,从完全实例化的业务对象渲染整个文档是可能的,但是由于大小,我们现在需要将文档数组元素呈现为流,以便我们不会耗尽内存.
但是,在呈现数组元素时,您会在XML序列化中获得不同的元素名称.我试图创建一个XMLAttributesOverride,但这给我一个错误,指出我无法覆盖此属性上的XmlElement属性.我试图保持这种强类型并与我的XSD相关联,所以如果有人知道如何将XML元素的名称更改为他们的数组名称+1回答.
我正在尝试使用下面的代码将字节转换为KB/MB/GB,但是,我似乎无法让它工作.配额的价值是60000000000.
public static double BytesToKilobytes(this Int32 bytes)
{
return bytes / 1000d;
}
public static double BytesToMegabytes(this Int32 bytes)
{
return bytes / 1000d / 1000d;
}
public static double BytesToGigabytes(this Int32 bytes)
{
return bytes / 1000d / 1000d / 1000d;
}
void wc_DownloadStringCompleted(object sender, DownloadStringCompletedEventArgs e)
{
if (e.Error != null)
return;
XDocument xDocument = XDocument.Parse(e.Result);
listBox1.ItemsSource = from query in xDocument.Descendants("service")
select new Service
{
type = query.Attribute("type").Value,
id = query.Element("id").Value,
plan = query.Element("username").Value,
quota = query.Element("quota").Value.BytesToGigabytes, …Run Code Online (Sandbox Code Playgroud) 天儿真好,
我试过在这里搜索MSDN,但我认为我不能这样做:
给定a的引用ServiceHost,是否有可能发现它正在执行的主机的类型?
就像是
ServiceHost host = new ServiceHost(typeof(MyContractImplementation));
Type serviceType = host.MagicCallHere();
Assert.True(typeof(MyContractImplementation) == serviceType);
Run Code Online (Sandbox Code Playgroud)
MagicCallHere存在吗?
奖励标记,如果你可以躲避反思...
我对编程风格和C#语言设计有一个疑问,我很想知道是否有更好的方法来做我正在做的事情.
如果你有一个复杂的数据对象,其属性可以为null,但你想检查或操作数据,如果它在那里,你不能写一个像这样的行
if(Myobject.MyNestedObject != null || Myobject.MyNestedObject.Property != null)
{
//code
}
Run Code Online (Sandbox Code Playgroud)
因为编译器实际上会调用两行代码来评估if语句.
相反,你必须(我相信)写道:
if(Myobject.MyNestedObject != null)
{
if(Myobject.MyNestedObject.Property != null)
{
//code
}
}
Run Code Online (Sandbox Code Playgroud)
有没有比这更好的风格?我正在尝试考虑如何使用null coalesce(??)但如果你尝试在同一个语句中使用MyNestedObject的任何东西,它仍会抛出.
更多信息:
L_01b4: ldarg.1
L_01b5: callvirt instance class [Myassembly]MyClass.MyObject [MyAssembly]MyClass::get_MyObject()
L_01ba: brtrue.s L_01cc
L_01bc: ldarg.1
L_01bd: callvirt instance class [MyAssembly]MyClass.MyObject [MyAssembly]MyClass::get_MyObject()
L_01c2: callvirt instance class [MyAssembly]MyClass.MyNestedObject [MyAssembly]MyClass.MyNestedObject::get_MyNestedObject()
L_01c7: ldnull
L_01c8: ceq
L_01ca: br.s L_01cd
L_01cc: ldc.i4.0
L_01cd: stloc.2
L_01ce: ldloc.2
L_01cf: brtrue L_0285
L_01d4: nop
Run Code Online (Sandbox Code Playgroud)
根据我的理解,它说L_01ba如果调用返回true,不是null或非0(即如果对象为null,则不采用分支,然后控制流程线性地继续).然后,这将执行L_01c2,它将抛出空引用异常,因为Myclass.MyObject为null.
我错过了什么.这是.net 3.5 C#编译器.
如何制作交互式HTML表单,例如:
<select name="command">
<option value="send">Send</option>
<option value="cancel">Cancel</option>
</select>
<!--
I want the following text input hidden by default,
but active only if option "Cancel" is selected
-->
<input type="text" name="cancel_reason" id="needreason">
Run Code Online (Sandbox Code Playgroud)
我想默认隐藏"cancel_reason"输入字段,如果之前选择了dropdown-option"Cancel",则会显示,否则它应该保持隐藏状态.
我有一个应用程序写入C:\驱动器上的文件夹.该程序在我的计算机上工作正常,但在运行.exe时另一台笔记本电脑(另一台笔记本电脑没有可视工作室等),我得到一个filenotfoundexception,我无法从错误报告中查明出现这种情况的代码行.
这是创建目录的代码(假设这是问题)
try
{
WriteDirectory = new DirectoryInfo(Environment.GetFolderPath(Environment.SpecialFolder.ApplicationData) + @"\SMS Notifier\");
if (!WriteDirectory.Exists)
WriteDirectory.Create();
}
catch (Exception e)
{
throw e;
}
Run Code Online (Sandbox Code Playgroud)
任何想法可能是什么问题?我应该检查写入权限吗?
非常感谢!
c# ×7
.net ×3
linq ×2
coding-style ×1
forms ×1
html ×1
io ×1
itemssource ×1
javascript ×1
jquery ×1
null ×1
php ×1
servicehost ×1
sql-server ×1
wcf ×1
xml ×1