我经常使用String.Empty占位符,相当于"".所以我的问题,为什么不const喜欢String.Empty?他们编译相同.
// Good
private const string example = "";
// Bad
private const string example = String.Empty;
Run Code Online (Sandbox Code Playgroud)
是什么String.Empty让它无法与a一起使用const.
我一直在论坛上阅读其他几个用于处理Manifest文件的东西.虽然我找到了答案; 它仍然没有解决我的特定问题.我的应用程序专为任何手机或平板电脑设计,但谷歌的Play商店说"不兼容".我正在尝试将应用程序提供给手机和平板电脑(手机或只是wifi).任何帮助都会很棒,谢谢你提前.我明显遗漏了这个清单文件中的内容.
这些是请求权限:
android.permission.INTERNET,
android.permission.CALL_PHONE,
android.permission.SEND_SMS,
android.permission.ACCESS_NETWORK_STATE,
android.permission.CHANGE_NETWORK_STATE,
android.permission.ACCESS_WIFI_STATE,
android.permission.CHANGE_WIFI_STATE,
android.permission.ACCESS_COARSE_LOCATION,
android.permission.READ_PHONE_STATE
Run Code Online (Sandbox Code Playgroud)
特征:
android.hardware.location,
android.hardware.location,
android.hardware.location.network,
android.hardware.touchscreen,
android.hardware.wifi
Run Code Online (Sandbox Code Playgroud)
这是一个奇怪的错误; 加上它似乎要求的方法无效.
android tablet android-manifest google-play android-permissions
我的任务是构建一个解析特定网页的解析器,以便我们的员工可以将他们的用户数据批量导入我们公司的网站.
我已经利用HtmlAgilityPack来解析页面,我已将其关联table row并table data被推送到我Map班级的属性中.
然而,一栏让我感到很悲伤.由于各种各样的原因,地址栏是我身边的荆棘.
样本数据:
6313 SW 203rd Ave <br> Portland, OR 97224
16600 Lomita Way <br> El Dorado Hills, CA 95762
PO Box #42 <br> Hampton Bays, NY 11946
Run Code Online (Sandbox Code Playgroud)
这些地址中的每一个都是这样包装的(显然地址可能因我们导入用户的客户而异):
<tr>
<td> 6313 SW 203rd Ave <br> Portland, OR 97224 </td>
</tr>
Run Code Online (Sandbox Code Playgroud)
我正在尝试实现一个正则表达式将其拆分到适当的区域,因此可以将其分配给相关属性:
public string Unit { get; set; }
public string Street { get; set; }
public string City { get; set; } …Run Code Online (Sandbox Code Playgroud) 我有一个包含特定整数值的Session,它们使用给定的控件进行索引.通常,以下方法可以正常工作:
int value;
int.TryParse(Session["Key"].ToString(), out value);
Run Code Online (Sandbox Code Playgroud)
但是,我确实需要考虑null.其中,如果string失败则默认输出将返回a null.除了我注意到它int.TryParse不起作用:
int? value = null;
int.TryParse(Session["Key"].ToString(), out value);
Run Code Online (Sandbox Code Playgroud)
那么如何尝试解析,如果失败则导致null?
我发现了这个问题,微软开发者网络指示:
当此方法返回时,如果转换成功,则包含等效于s中包含的数字的有符号整数值;如果转换失败,则包含零.如果string参数为null或String.Empty,格式不正确,或者表示小于最小值或大于最大值的数字,则转换失败.此参数未初始化传递.
明确指出,如果int.TryParse失败,整数将保持零值. 在我的使用实例中,零可以是有效值.所以我需要null,任何想法?
这可能是一个微不足道的问题,我已经看到了Cast的几种不同变体.
示例一:
command.ExecuteScalar() as string;
Run Code Online (Sandbox Code Playgroud)
示例二:
(string)command.ExecuteScalar();
Run Code Online (Sandbox Code Playgroud)
两者都会产生ExecuteScalar()不同的影响,所以问题是与数据库交互时是否比另一个更理想?
更新:
当数据库通过标量返回值时,它将始终为object.因此,当返回值时,您应该有一个先入为主的概念,即类型是什么.ToString();当你有一个SELECT传递两个参数的时候,你为什么要使用它?
好像它不存在它总会抛出一个null.所以在我的重构中我相信这as将是正确的方法.因为ToString()会抛出一个错误---那么cast它的形式是什么?
我有一些我正在维护的代码,但是在我的重构中,我遇到了一个ToString()附加的代码ExecuteScalar.我的问题是,使用ToString()等同于:
(string)command.ExecuteScalar();
Run Code Online (Sandbox Code Playgroud)
或者它代表这个:
command.ExecuteScalar() as string;
Run Code Online (Sandbox Code Playgroud)
显然,as string优雅地失败,cast (string)实际上会陷入困境InvalidCastException.所以当你打电话时:
command.ExecuteScalar().ToString();
Run Code Online (Sandbox Code Playgroud)
casting它试图采用哪种方法?
我们公司利用一项服务,通过Rest Api为开发人员提供访问其应用程序的权限.因此,基于此应用程序生成的内容,我构建了一个数据模型来表示可扩展标记语言(XML),以便于修改.
但是,API会为数据生成两个单独的区域:
var responses = submission.Sections.SelectMany(obj =>
obj.Screens.Screen.Responses.Response.Select(response =>
new { response.Label, response.Value, response.Type })).ToList();
Run Code Online (Sandbox Code Playgroud)
var responses = submission.Sections.SelectMany(obj =>
obj.Screens.Screen.Responses.Responses.Response.Select(response =>
new { response.Label, response.Value, response.Type })).ToList();
Run Code Online (Sandbox Code Playgroud)
正如您所看到的那样,当我构建内容时Responses.Response,大部分数据都在这里,但有时它会利用Responses.Responses.Response.有没有办法对数据进行初步预测?这样我可以测试null偶尔抛出的那个Responses.Response?
这样我就可以沿着这些方向做点什么:
if(obj != null)
{
// Responses.Response
}
else
{
//Responses.Responses.Response
}
Run Code Online (Sandbox Code Playgroud)
Linq甚至可以做到这一点吗?问题是,因为response.Value是null在某些情况下,它抛出一个Null Argument Exception.
我创建了一个要运行的应用程序,但是从 Visual Studio 的应用程序构建了一个外部工具。直到 15.4.0 应用程序运行良好,但他们修改了注册表。根据 Microsoft 的更改,外部工具保存在此子项下:
SOFTWARE\Microsoft\VisualStudio\14.0_Config\External Tools
当您观察密钥时,您会清楚地看到 Visual Studio 中包含的工具、Guid、错误查找和其他几个文件夹(子密钥)。但问题是,如果您在 Visual Studio 中手动创建工具,密钥信息将直接转储到根外部工具密钥。
因此,如果我执行以下任一方法:
var user = RegistryKey.OpenBaseKey(RegistryHive.CurrenUser, RegistryView.Default);
var tools = user.OpenSubKey(@"SOFTWARE\Microsoft\VisualStudio\14.0_Config\External Tools", true);
var path = Environment.GetCommandLineArgs()[0];
tools.SetValue("ToolArg", "$(ItemPath)");
tools.SetValue("ToolCmd", path);
tools.SetValue("ToolDir", String.Empty);
tools.SetValue("ToolOpt", 0x12);
tools.SetValue("ToolsSourceKey", String.Empty);
tools.SetValue("ToolTitle", "My Tool");
Run Code Online (Sandbox Code Playgroud)
var user = RegistryKey.OpenBaseKey(RegistryHive.CurrenUser, RegistryView.Default);
var tools = user.OpenSubKey(@"SOFTWARE\Microsoft\VisualStudio\14.0_Config\External Tools", true);
var sub = tools.CreateSubKey("MyTool");
var path = Environment.GetCommandLineArgs()[0];
sub.SetValue("ToolArg", "$(ItemPath)");
sub.SetValue("ToolCmd", path);
sub.SetValue("ToolDir", String.Empty);
sub.SetValue("ToolOpt", 0x12);
sub.SetValue("ToolsSourceKey", String.Empty);
sub.SetValue("ToolTitle", "My Tool");
Run Code Online (Sandbox Code Playgroud)
该工具不会出现在列表或工具栏中。Visual Studio …
所以我正在开发一个模型视图控制器(MVC)项目.由于规模和复杂性,我正在努力确保组织.我成功地遇到了一个独特的困境,一个让我很难过的困境.我的问题来自我正在整合到我的网站的Jquery Rotator.
My Solution Explorer:
Images,Scripts和Stylesheets.这三个子文件夹包含更具体和更细致的细节,一个例子是Scripts包含另一个Rotator为此jQuery实现调用的文件夹.
所以这种困境发生在View中.
此视图中的示例:
<div class = "banner-style">
<div id = "Infinite-Banner">
<div class = "banner-container">
<div class = "slides">
<img src = "~/Content/Images/Banner/Slides/One.jpg">
<img src = "~/Content/Images/Banner/Slides/Two.jpg">
</div>
</div>
</div>
</div>
Run Code Online (Sandbox Code Playgroud)
因此,在此结构中,它似乎不会加载图像.虽然它已正确映射到目录.但是,如果您使用上面相同的结构,但将img部分更改为:
<div class = "slide-one" />
<div class = "slide-two" />
Run Code Online (Sandbox Code Playgroud)
然后在相关的样式表中,只需background: url(~/Content/Images/Banner/Slides/One.jpg);为 …
我正在用C#开发一个客户端 - 服务器桌面应用程序系统.客户端只是一个瘦客户端,可以显示服务器告诉它的任何内容.服务器直接与本地数据库通信,本地数据库用于存储各种系统的元数据.每个系统都有自己的表,其结构对于该系统是唯一的.
我试图理解如何在没有"硬编码"任何内容的情况下告诉桌面应用程序数据库的结构,如果这有意义的话.我相信我需要研究对象关系映射,但我不太清楚从哪里开始,因为我以前从未接受过这种复杂性的项目.我的想法是我的服务器配置以某种方式定义了这个映射,并且它可能是可扩展的,因此我可以在将来为更多系统添加更多映射,或者可能更改映射.
我怎么看这个系统工作是这样的:
客户端上的用户将包含元数据的文件上载到服务器.服务器将确定此文件所针对的系统类型,然后解析该文件以提取元数据,并将其输入数据库.我最初设想这种情况的方式是我将有一个通用的抽象类/接口,需要为每个系统类型派生.然后,派生类将实现特定于该系统类型的解析函数,以便它可以从文件中提取元数据.但问题是我无法将提取的数据输入数据库,因为服务器不知道派生类的底层结构.
谁能指出我正确的方向?我发现了NHibernate,这听起来像我可能需要的,但我不是百分百肯定.正如我先前所说,问题的一部分是我对这些概念中的一些概念没有完全理解.任何人都可以推荐一些可以帮助我理解对象关系映射器(ORM)的在线资源,特别是它与.Net Framework有何关联?
我在使用时遇到了一个奇怪的问题System.IO.当您遍历目录以查找类型为File(没有扩展名)的文件时,不会检测到该文件.
// Successful:
var files = DirectoryInfo(server.Path).GetFiles("sitemap*.*);
var contents = Directory.GetFiles(server.Path, "sitemap*.*", ...);
Run Code Online (Sandbox Code Playgroud)
在大多数情况下,上面的代码就足够了,但是如果你有其他类型名称相同的类型,它们也会被收集.
当你只想要的时候会遇到我们的问题sitemap.file.
// Invalid Code:
var files = DirectoryInfo(server.Path).GetFiles("sitemap*.file);
var contents = Directory.GetFiles(server.Path, "sitemap*.file", ...);
var examples = DirectoryInfo(server.Path).GetFiles("sitemap*);
Run Code Online (Sandbox Code Playgroud)
该数组为空,它找不到任何原始.file扩展文件.我假设问题发生,因为它实际上没有扩展名.
你如何规避这种限制?
更新: 我知道我可以沿着这些方向做一些事情FileInfo[],但希望找到一个更简单的方法然后迭代,然后比较:
var files = DirectoryInfo(server.Path).GetFiles("sitemap*.*);
foreach(var file in files)
if(file.Extension != ".gz" && file.Extension != ".xml")
{
// Do something with File.
}
Run Code Online (Sandbox Code Playgroud)
特别是如果您的目录中有各种各样的扩展名.你会认为它会解释这种类型,或缺乏.

在我详细说明问题之前,我很清楚数据库不是按常规设计的.遗憾的是,由于它是如何集成的,我无法更改这个特定的数据库,所以我有一个潜在的解决方案,但这几个月都不会实现.与此同时,我需要解决以下问题:
问题是我需要建立一个实体,这将代表我们的Accounts.但问题是,我们的数据库实现了以下结构:
我的实体代表这些表上完全相同的数据,相同的列名,在所有条件下都是重复的,除了一个是开票,而另一个代表非开票的客户.但由于它不是一个表,并且有一个标志表示已开票和非开票,我的实体如何链接到这两个表?
由于两个表都代表不同的名称,因此我无法使用[Table("...")]或自动映射功能.我讨厌提出这样的问题,但我找不到任何关于如何处理这样一个问题的文件.