我已声明以下枚举:
public enum AfpRecordId
{
BRG = 0xD3A8C6,
ERG = 0xD3A9C6
}
Run Code Online (Sandbox Code Playgroud)
我想从值中检索枚举对象:
private AfpRecordId GetAfpRecordId(byte[] data)
{
...
}
Run Code Online (Sandbox Code Playgroud)
调用示例:
byte[] tempData = new byte { 0xD3, 0xA8, 0xC6 };
AfpRecordId tempId = GetAfpRecordId(tempData);
//tempId should be equals to AfpRecordId.BRG
Run Code Online (Sandbox Code Playgroud)
我也想使用linq或lambda,只要它们可以提供更好或相等的性能.
我遇到以下错误:
- Visual Studio 2013 Ultimate Update 1(与Update 3相同)
- Windows 10 TP Build 9860
- 仅限Windows应用商店(WPF桌面应用程序没有错误).
错误描述:
- UI XAML Designer不起作用(请参阅附件异常)
- XAML文件中的Intellisense不起作用(未显示任何建议).
System.Exception
Install failed. Please contact your software vendor.
Deployment Register operation with target volume C: on Package App.aa5630c6a.a99c1.a41a2.aaba0.ac20dd792d3d9_1.0.0.0_x86_NorthAmerica_8wekyb3d8bbwe from: (C:\Users\Diego\AppData\Local\Microsoft\VisualStudio\12.0\Designer\ShadowCache\hwvetbdr.ucs\pfhjajzj.4bs\AppXManifest.xml) failed with error 0x80070002. See http://go.microsoft.com/fwlink/?LinkId=235160 for help diagnosing app deployment issues.
at Microsoft.Expression.HostUtility.Platform.AppContainerProcessDomainFactory.CreateDesignerProcess(String applicationPath, String clientPort, Uri hostUri, IDictionary environmentVariables, Int32& processId, Object& processData)
at Microsoft.Expression.DesignHost.Isolation.Primitives.ProcessDomainFactory.ProcessIsolationDomain..ctor(ProcessDomainFactory factory, IIsolationBoundary boundary, AppDomainSetup appDomainInfo, FrameworkName targetFramework, String identifier, …Run Code Online (Sandbox Code Playgroud) intellisense winrt-xaml windows-store-apps visual-studio-2013 windows-10
我需要从app.config文件中检索密钥设置的名称.
例如:
我的app.config文件:
<setting name="IGNORE_CASE" serializeAs="String">
<value>False</value>
</setting>
Run Code Online (Sandbox Code Playgroud)
我知道我可以使用以下方法检索值:
Properties.Settings.Default.IGNORE_CASE
Run Code Online (Sandbox Code Playgroud)
有没有办法从我的键设置中获取字符串"IGNORE_CASE"?
我已经将 iText 用于一些各种实用程序,例如我们成功合并和编辑 pdf 文件。现在我需要重叠 2 个 pdf 页面:
例如:输入:PDF#1(1页)PDF#2(1页)
输出:PDF#3(1 页:这是 2 个输入页重叠的结果)
我不知道 iText 最新版本是否可以做到这一点。我还考虑使用 2 个输入 PDF 文件之一作为 PDF 输出文件的背景。
先感谢您。
我有一个列表,可以有~200'000项.我需要使用子列表更新固定数量的字段,例如150项.这是我现在使用的代码:
listItem:200'000 item List - subListItem:150 item List(已更新)
listItem.Select(item =>
{
if (subListItem.Exists(x => x.ID == item.ID))
{
var currentItem = subListItem.Single(x => x.ID == item.ID);
item.FIELD_1 = currentItem.FIELD_1;
item.FIELD_2 = currentItem.FIELD_2;
item.FIELD_3 = currentItem.FIELD_3;
item.FIELD_4 = currentItem.FIELD_4;
}
return item;
}).ToList();
Run Code Online (Sandbox Code Playgroud)
这样做很好,但性能确实很差.你有什么建议吗?
更新的解决方案:
dictItem = listItem.ToDictionary(x => x.ID);
foreach (Item updatedItem in subListItem)
{
Item originalItem = dictItem[updatedItem.ID];
originalItem.FIELD_1 = updatedItem.FIELD_1;
originalItem.FIELD_2 = updatedItem.FIELD_2;
originalItem.FIELD_3 = updatedItem.FIELD_3;
originalItem.FIELD_4 = updatedItem.FIELD_4;
dictItem[updatedItem.ID] = originalItem;
}
Run Code Online (Sandbox Code Playgroud) Ciao大家,我终于能够从.NET Framework 2.0切换到.NET Framework 4.0.
我正在尝试获得有关lambda表达式和LINQ的一些经验.
有可能翻译这个:
for (int cont = 0;cont < args.Length; cont++)
Console.WriteLine("#" + cont + " " + "<" + args + ">");
Run Code Online (Sandbox Code Playgroud)
单行lambda表达式,或者使用LINQ,甚至是其他一些我不知道的costruct?先感谢您.
是否有类似C#的"调用约束"?
例如,我有以下功能:
public UInt16 ConvertByteToUInt16 (byte[] buffer)
{
if (buffer.Length != 2)
{
throw new InvalidArgumentException();
}
Convert();
}
Run Code Online (Sandbox Code Playgroud)
有可能写出类似的东西:
public UInt16 ConvertByteToUInt16 (byte[] buffer) : where (buffer.Lenght = 2)
{
Convert();
}
Run Code Online (Sandbox Code Playgroud)
如果我这样调用函数:
ConvertByteToUInt16 (new byte[] { 0xFF, 0xFF, 0xFF } )
Run Code Online (Sandbox Code Playgroud)
我想在编译时遇到错误.我很确定C#2.0上没有这样的东西,但也许在C#4.0上?提前致谢.
c# ×6
.net ×5
linq ×3
c#-4.0 ×2
asp.net ×1
enums ×1
generics ×1
intellisense ×1
itext ×1
itextsharp ×1
lambda ×1
list ×1
pdf ×1
settings ×1
updates ×1
windows-10 ×1
winrt-xaml ×1