我需要将整数的输出填充到给定的长度.
例如,对于4位长度,整数4的输出是"0004"而不是"4".我怎样才能在C#2.0中这样做?
Directory.GetFiles(LocalFilePath,searchPattern);
MSDN备注:
在searchPattern中使用星号通配符时,例如".txt",当扩展名正好是三个字符长时的匹配行为与扩展名多于或少于三个字符长时的匹配行为不同.具有三个字符的文件扩展名的searchPattern返回扩展名为三个或更多字符的文件,前三个字符与searchPattern中指定的文件扩展名匹配.文件扩展名为一,二或三个以上字符的searchPattern仅返回扩展名与searchPattern中指定的文件扩展名完全匹配的文件.使用问号通配符时,此方法仅返回与指定文件扩展名匹配的文件.例如,在目录中给定两个文件"file1.txt"和"file1.txtother",搜索模式为"file? .文本"只返回第一个文件,而搜索模式为"file.txt"返回两个文件.
以下列表显示了searchPattern参数的不同长度的行为:
*.abc返回具有扩展名的文件.abc,.abcd,.abcde,.abcdef,等.
*.abcd仅返回扩展名为的文件.abcd.
*.abcde仅返回扩展名为的文件.abcde.
*.abcdef仅返回扩展名为的文件.abcdef.
随着searchPattern设置参数*.abc,我怎么能有回报的扩展名的文件.abc,不.abcd,.abcde等等?
也许这个功能会起作用:
private bool StriktMatch(string fileExtension, string searchPattern)
{
bool isStriktMatch = false;
string extension = searchPattern.Substring(searchPattern.LastIndexOf('.'));
if (String.IsNullOrEmpty(extension))
{
isStriktMatch = true;
}
else if (extension.IndexOfAny(new char[] { '*', '?' }) != -1)
{
isStriktMatch = true;
}
else if …Run Code Online (Sandbox Code Playgroud) 在Petshop 4.0的'DBUtility'项目中,抽象类SqlHelper有一个方法'GetCachedParameters':
public static SqlParameter[] GetCachedParameters(string cacheKey) {
SqlParameter[] cachedParms = (SqlParameter[])parmCache[cacheKey];
if (cachedParms == null)
return null;
SqlParameter[] clonedParms = new SqlParameter[cachedParms.Length];
for (int i = 0, j = cachedParms.Length; i < j; i++)
clonedParms[i] = (SqlParameter)((ICloneable)cachedParms[i]).Clone();
return clonedParms;
}
Run Code Online (Sandbox Code Playgroud)
为什么不直接返回'cachedParms'?
目录'C:\ temp'有两个名为'GZ96A7005.tif'和'GZ96A7005001.tif'的文件.它们具有不同的长度和相同的扩展名.现在我运行下面的代码:
string[] resultFileNames = Directory.GetFiles(@"C:\temp", "????????????.tif");
Run Code Online (Sandbox Code Playgroud)
'resultFileNames'返回两个项'c:\ temp\GZ96A7005.tif'和'c:\ temp\GZ96A7005001.tif'.但是Window Search可以正常工作.这就是为什么以及如何得到我想要的?
