我有以下内容:
switch (id.Substring(2, 2))
{
case "00": return("14");
case "01": return("19");
case "02": return("19");
case "03": return("19");
case "1F": return("19");
case "04": return("17");
case "05": return("18");
}
Run Code Online (Sandbox Code Playgroud)
对此不确定但有没有办法将"01","02","03"和"1F"合二为一?
我在使用XPath查询C#中的一些HTML文件时遇到了一个小问题.
好的,首先是HTML示例:
<table id="theTable">
<tbody>
<tr class="theClass">A</tr>
<tr class="theClass">B</tr>
<tr>1</tr>
<tr>2</tr>
<tr>3</tr>
<tr>4</tr>
<tr>5</tr>
<tr class="theClass">C</tr>
<tr class="theClass">D</tr>
<tr>6</tr>
<tr>7</tr>
<tr>8</tr>
<tr>9</tr>
<tr>10</tr>
<tr>11</tr>
<tr>12</tr>
<tr>13</tr>
<tr>14</tr>
<tr>15</tr>
<tr class="theClass">E</tr>
<tr class="theClass">F</tr>
<tr>16</tr>
<tr>17</tr>
<tr>18</tr>
<tr>19</tr>
<tr>20</tr>
<tr>21</tr>
<tr>22</tr>
</tbody>
</table>
Run Code Online (Sandbox Code Playgroud)
现在,我要做的是只获取B和C节点之间的元素(1,2,3,4,5).
这是我到目前为止所尝试的:
using System;
using System.Xml.XPath;
namespace Test
{
class Test
{
static void Main(string[] args)
{
XPathDocument doc = new XPathDocument("Test.xml");
XPathNavigator nav = doc.CreateNavigator();
Console.WriteLine(nav.Select("//table[@id='theTable']/tbody/tr[preceding-sibling::tr[@class='theClass'] and following-sibling::tr[@class='theClass']]").Count);
Console.WriteLine(nav.Select("//table[@id='theTable']/tbody/tr[preceding-sibling::tr[@class='theClass'][2] and following-sibling::tr[@class='theClass'][4]]").Count);
Console.ReadKey(true);
}
}
}
Run Code Online (Sandbox Code Playgroud)
这段代码运行在上面的HTML上,输出19和5.所以只有第二个XPath表达式可以工作,但这只是因为它搜索的元素class=theClass在它们之前有两个元素,在它们之后有4个元素. …
当我从课堂上看到这个时,我正在使用ILSpy来阅读一些SystemSystem.Internal.HandleCollector类:
internal sealed class HandleCollector
{
... bunch of stuff removed ...
internal static event HandleChangeEventHandler HandleAdded
{
[MethodImpl(MethodImplOptions.Synchronized)]
add
{
HandleCollector.HandleAdded = (HandleChangeEventHandler)Delegate.Combine(HandleCollector.HandleAdded, value);
}
[MethodImpl(MethodImplOptions.Synchronized)]
remove
{
HandleCollector.HandleAdded = (HandleChangeEventHandler)Delegate.Remove(HandleCollector.HandleAdded, value);
}
}
... bunch of stuff removed ...
}
Run Code Online (Sandbox Code Playgroud)
当VisualStudio抱怨(我复制了类)该属性没有setter时,Microsoft如何编译?有人可以分解为什么这可行但我的VS副本抱怨(构建标志?)?
此属性没有setter
每个HandleCollector.HandleAdded =语句都有错误.
我想在父级中添加一个 xmlNode,但在顶部/开头。有XMLNode.AppendChild()我可以使用的变体吗?
这段代码有什么问题?
public ScreenManager _ScreenManager
{
get { return screenManager; }
internal set { screenManager = value; }
}
ScreenManager screenManager;
Run Code Online (Sandbox Code Playgroud)
我收到此错误:
Inconsistent accessibility: field type 'ScreenSystem.ScreenManager' is less accessible than field 'ScreenSystem.Screen.ScreenManager'
Run Code Online (Sandbox Code Playgroud) 从昨天起我一直在教自己表达树,我在比较两个字符串值时遇到了问题.我已经使这个测试用例失败并出现错误:
No method 'Compare' on type 'System.String' is compatible with the supplied arguments.
在运行时失败了 left = Expression.Call(
Type type = typeof(string);
Expression left, right;
left = Expression.Constant("1", type);
right = Expression.Constant("2", type);
// fails at run-time on the next statement
left = Expression.Call(
typeof(string),
"Compare",
new Type[] { type, type },
new Expression[] { left, right });
right = Expression.Constant(0, typeof(int));
Run Code Online (Sandbox Code Playgroud)
我将在a中使用结果左右Expression.Equal, LessThan, LessThanOrEqual, GreaterThan or GreaterThanOrEqual.这就是Compare方法的原因.
我确信它很简单,我把我的代码简化为这个简单的测试用例.谁知道我哪里出错了?
今天修补MonoDevelop的所有项目都已损坏,我不得不重建它们.
如何将MonoTouch.Dialog添加到项目中?我很确定我会右键单击引用,单击编辑引用然后单击包中找到标记为MonoTouch.Dialog的那个,但我找不到了.
什么是标签(现在)?或者我是否必须从Github下载MonoTouch.Dialog?
最后一个是笑话,因为MonoTouch.Dialog-1.dll仍然在2.1文件夹中
我向第三方API发出了请求,它以XML格式给出了以下响应.
<?xml version="1.0" ?>
<abc>
<xyz>
<code>-112</code>
<message>No such device</message>
</xyz>
</abc>
Run Code Online (Sandbox Code Playgroud)
我用这段代码读了这个.
XmlDocument doc = new XmlDocument();
doc.Load("*** url ***");
XmlNode node = doc.SelectSingleNode("/abc/xyz");
string code = node.SelectSingleNode("code").InnerText;
string msg = node.SelectSingleNode("message").InnerText;
Response.Write("Code: " + code);
Response.Write("Message: "+ msg);
Run Code Online (Sandbox Code Playgroud)
但我在这一行上收到错误:
string code = node.SelectSingleNode("code").InnerText;
Run Code Online (Sandbox Code Playgroud)
错误是:
你调用的对象是空的.
你好同事们,有人可以告诉我传递方式 - 确认:$ Y使用ac#code.这是我的C#代码,它不接受-Confirm参数.
PowerShell powershell = PowerShell.Create();
PSCommand command = new PSCommand();
command.AddCommand("Remove-MailContact");
string DisplayName = "UniqueValue112";
command.AddParameter("Identity", DisplayName);
command.AddParameter("Confirm", true);
Run Code Online (Sandbox Code Playgroud)
等效的PowerShell代码是
Remove-MailContact -Identity $DisplayName -Confirm:$Y
Run Code Online (Sandbox Code Playgroud)
有人能告诉我如何使用C#传递等效的-Confirm:$ Y?
我总是试图找出一些用asp.net来操纵uri/url的url/uri方法.
有这样的感觉很高兴:
UriAgilityPack uri = new UriAgilityPack("http://some.com/path?query1=value1");
Run Code Online (Sandbox Code Playgroud)
要么
UriAgilityPack uri = new UriAgilityPack().LoadSiteRelative("~/path?query1=value1");
Run Code Online (Sandbox Code Playgroud)
然后用
enum Schemes {
Http,
Https
}
uri.Scheme = Schemes.Https;
Run Code Online (Sandbox Code Playgroud)
和/或
foreach(QueryItem item in uri.Query)
// do something with item
Run Code Online (Sandbox Code Playgroud)
和/或
uri.Query.Add("AddToCart", 5)
Run Code Online (Sandbox Code Playgroud)
string s = uri.ToString() // https://some.com/path?query1=value1&AddToCart=5
要么
string root = uri.RootPath // /path?query1=value1&AddToCart=5
string relative = uri.RootRelativePath; // ~/path?query1=value1&AddToCart=5
Run Code Online (Sandbox Code Playgroud) 我想修剪一个超过1个字符的字符串.字符串:
<incident_response>
<msg_id>50889_360</msg_id>
<inquiry_id>INC000000087930</inquiry_id>
<response_dt>02.26.2013 14:49:12</response_dt>
<status>0</status>
<error></error>
</incident_response>
Run Code Online (Sandbox Code Playgroud)
是的,我知道,它是一个XML文件.
string responseXML;
string inc_number =
responseXML.Trim().Trim('<inquiry_id>').TrimEnd('</inquiry_id>');
Run Code Online (Sandbox Code Playgroud)
我收到了一个CS1012错误,因为它不止一个字符.我需要整个inquiry_id(INC000000087930),没有任何其他字符.还有其他选择来获得这个号码吗?我不能使用xmlready或类似的东西,因为我从一个API模块中获取XML作为字符串.
嗨我试图修复此代码,以便编译,无法找到方法
错误:
Pro\AGeeksToy\Controls\LadderHeader.cs(218,98):错误CS0426:类型名称'menuData'在类型'AGeeksToy.CoreDataTypes.AGeeksToyToolStripMenuItem>中不存在
这是错误.
private void ChangeStakingType(AGeeksToyToolStripMenuItem<EnhancedType<StakingTypeEnum>>.menuData newType)
{
this.StakeBox.StakingType.Value = newType.Data.Value;
}
Run Code Online (Sandbox Code Playgroud)
AGeeksToyToolStripMenuItem类代码:
namespace AGeeksToy.CoreDataTypes
{
using System;
using System.Windows.Forms;
public abstract class AGeeksToyToolStripMenuItem<T> : ToolStripMenuItem, AGeeksToyMenu
{
public MouseButtons LastMouseButton;
public MenuData<T> menuData;
public static readonly VoidEventWithParam<MenuData<T>> RightClicked;
static AGeeksToyToolStripMenuItem()
{
AGeeksToyToolStripMenuItem<T>.RightClicked = new VoidEventWithParam<MenuData<T>>();
}
protected AGeeksToyToolStripMenuItem(T obj, string text) : this(obj, text, null)
{
}
protected AGeeksToyToolStripMenuItem(T obj, string text, Control ctrl)
{
base.DropDown.ImageList = IconManager.m_ImageList;
this.menuData = new MenuData<T>(obj, ctrl);
this.Text = text;
}
protected …Run Code Online (Sandbox Code Playgroud) c# ×11
xml ×4
asp.net ×2
.net ×1
betfair ×1
char ×1
expression ×1
ilspy ×1
powershell ×1
reflector ×1
siblings ×1
string ×1
trim ×1
xamarin.ios ×1
xml-parsing ×1
xmlnode ×1
xpath ×1