我有一个相当复杂的XML,我有它的XSD.我通过xsd.exe生成类,并通过此处描述的XmlSerializer将XML读入类结构.
它很棒.然而,这是我第一次这样做,我将阅读各种来源的大量XML文件.这种方法有多可靠?可以肯定地说,如果XML文件符合XSD规范,那么XmlSerializer能够很好地读取它吗?
显然,典型的WebForms方法是行不通的.如何跟踪MVC世界中的用户?
请考虑以下代码:
// module level declaration
Socket _client;
void ProcessSocket() {
_client = GetSocketFromSomewhere();
using (_client) {
DoStuff(); // receive and send data
Close();
}
}
void Close() {
_client.Close();
_client = null;
}
Run Code Online (Sandbox Code Playgroud)
鉴于代码调用Close()方法,关闭_client套接字并将其设置为null,同时仍然在"using"块内,幕后究竟发生了什么?套接字真的关闭了吗?有副作用吗?
PS这是在.NET MicroFramework上使用C#3.0,但我认为c#(语言)应该具有相同的功能.我问的原因是偶尔,很少,我用完套接字(这是.NET MF设备上非常宝贵的资源).
我正在尝试获取Windows登录对话框中可用的所有域(在域下拉列表中).
我尝试了以下代码但它只返回我登录的域.我错过了什么吗?
StringCollection domainList = new StringCollection();
try
{
DirectoryEntry en = new DirectoryEntry();
// Search for objectCategory type "Domain"
DirectorySearcher srch = new DirectorySearcher(en, "objectCategory=Domain");
SearchResultCollection coll = srch.FindAll();
// Enumerate over each returned domain.
foreach (SearchResult rs in coll)
{
ResultPropertyCollection resultPropColl = rs.Properties;
foreach( object domainName in resultPropColl["name"])
{
domainList.Add(domainName.ToString());
}
}
}
catch (Exception ex)
{
Trace.Write(ex.Message);
}
return domainList;
Run Code Online (Sandbox Code Playgroud) 问题就是这一切.
我试图在使用 MSBuild 进行命令行编译时指定一个附加文件夹来查找参考。
cmd> msbuild LurReports.sln /t:Rebuild /p:AdditionalLibPaths=C:\Radio;TargetFrameworkVersion=v2.0
Run Code Online (Sandbox Code Playgroud)
无论出于何种原因,msbuildC:\Radio在查找引用时完全忽略该文件夹。我在这里缺少什么?
msbuild compilation .net-3.5 visual-studio-2008 visual-studio
我有以下函数,它将一个字符串作为参数并重复多次(也是一个参数).我觉得这已经存在于框架中,或者至少可以做得更好.有什么建议?
private string chr(string s, int repeat)
{
string result = string.Empty;
for (int i = 0; i < repeat; i++)
{
result += s;
}
return result;
}
Run Code Online (Sandbox Code Playgroud) 我在1 .5年前看到了一个类似的问题,我希望有更好的东西.
我正在寻找一个完全托管的C#实现,因为我需要它用于.NET Microframework,所以我不能拥有围绕C代码的.NET包装器.
有没有人遇到过SIP协议的良好C#实现.我不应该认为我不关心编解码器,大多数都是处理呼叫控制.
我有一个星期数(例如23),我想获取该星期的星期一和星期日的日期。
我假设星期一为一周的第一天(例如,我SET DATEFIRST 1在脚本中输入)。
我有一个项目,我正在测试一个对噪音非常敏感的设备(电磁,无线电等......).该设备基于给定输入(音频)生成每秒5-6字节的二进制数据(对于未经训练的眼睛看起来像胡言乱语).
根据噪音,设备有时会遗漏字符,有时会插入随机字符,有时是两者的倍数.
我编写了一个应用程序,使用户能够即时查看它生成的错误(与主文件相比[例如,设备应在理想条件下输出的内容]).我的算法基本上取实时数据中的每个字节,并将其与已知主文件中相同位置的字节进行比较.如果字节不匹配,我在当前位置两个方向都有一个10个字符的窗口,我会在附近寻找匹配.如果匹配(加上验证或两个),我会直观地在UI中标记位置并注册错误.
这种方法工作得相当好,实际上,考虑到输入数据的速度,它也可以实时工作.但是,我觉得我所做的并不是最优的,如果数据以更高的速率传输,那么这种方法就会崩溃.
我可以采取其他方法吗?是否有针对此类事物的已知算法?
我多年前读过NASA的数据收集装备(例如与太空和月球/火星上的工艺品交流的装备)尽管在太空中受到巨大干扰,但仍有0.00001%的数据丢失.
有任何想法吗?
c# ×6
.net-3.5 ×3
.net-2.0 ×1
algorithm ×1
asp.net-mvc ×1
assemblies ×1
c#-3.0 ×1
compilation ×1
date ×1
dependencies ×1
gac ×1
msbuild ×1
refactoring ×1
session ×1
sip ×1
sql ×1
string ×1
using ×1
xsd ×1
xsd.exe ×1