嗨,由于某种原因,我不能在约会上进行字符串比较?举个例子:
public List<HireDate> GetHireDate(string anything)
{
List<HireDate> hiredate = hiredates.Where(n =>
string.Equals(n.HireFromDate, anything, StringComparison.CurrentCultureIgnoreCase)
).ToList();
return hiredate;
}
它根本不工作?如果我输入一个文本框13/07/2012
,这就是它存储的方式,它返回的是404找不到的???
输出在通用列表/获取请求中看起来像这样:
<ArrayOfHireDate>
<HireDate>
<HireFromDate>13/07/2012</HireFromDate>
<HireToDate>28/07/2012</HireToDate>
<NumberOfDaysHired>15</NumberOfDaysHired>
</HireDate>
</ArrayOfHireDate>
还有另一种方法可以找到带正斜杠的字符串吗?例如,使用/在任何网络字符串比较器中都不起作用,它总会抛出404找不到的东西?
答案 0 :(得分:1)
两件事:
1)要将字符串放在另一个字符串中,最常用的方法是使用String.Format
。该方法采用格式字符串(例如"Date: {0} Time: {1}"
)和一堆参数。字符串中每次出现的{0}
都被第一个参数替换,{1}
被第二个等等替换。还有其他选项来格式化字符串中的参数,有关详细信息,请参阅{{3} }。
2)如果您有一个URL并且在应用程序中获得了404,请首先验证URL的语法是否正确。直接在浏览器中手动尝试在程序中创建的URL,如果不起作用,请找出实际用于提供参数的语法。例如,日期必须格式化为13-07-2012
而不是13/07/2012
才能生效。如果是这样,您可以通过选择适当的the MSDN page on String.Format
来解决此问题。
对于任何DateTime date
对象,要使用您想要的任何CultureInfo
格式化它的日期较短,请使用ToString
的重载并指定d
作为格式。例如,使用不变文化:
var str = date.ToString("d", CultureInfo.InvariantCulture);
可以找到其他格式字符串CultureInfo
。