【问题标题】:Alternative ways of finding if a string is an array [closed]查找字符串是否为数组的替代方法[关闭]
【发布时间】:2012-10-07 01:49:53
【问题描述】:

我不知道以前是否有人问过这个问题。我知道这样做的方式有时并不方便。

string[] exts = { "png", "jpg", "gif" };
if (exts.Contains(Path.GetExtension(filename)))
{
}

我想改变变量的位置

if(Path.GetExtension(filename) is in exts)
{

}

无论如何,LINQ、数组函数等将不胜感激

【问题讨论】:

  • 我不知道你在这里问什么。
  • @Oded 我希望数组在右侧。
  • 我只是觉得可能有更好的方法。多年来我一直这样做,这对我来说不再合适 - 从那时起编码已经发展,例如LINQ
  • LINQ 实现了一个Contains 方法。

标签: c#


【解决方案1】:

您可以在string 上编写一个扩展方法,该方法接受string[] 并测试字符串是否在数组中(使用Contains) - 然后您将拥有"aString".IsIn(myArray)

public static bool IsIn(this string toTest, string[] exts)
{
  return exts.Contains(toTest);
}


if(Path.GetExtension(filename).IsIn(exts))
{

}

【讨论】:

  • 好的。很抱歉打扰您,您可以看看我的另一个问题stackoverflow.com/questions/12761968/…
  • @codingbiz - 看了看没有回答,因为推荐的区域太大了。没有发布错误/异常数据,所以没有什么可继续的。
  • 没有注释区域,图像保存完美,但是当我添加它时,图像保存但空白/或不是真实图像,因此它不会显示在浏览器中。我认为using 块在调用.SaveAs 之前就已经清除了流。我知道这一点是因为将 .SaveAs 移动到 using 有效
  • Stream imgStream = fileUpload.InputStream 我认为这是通过引用,using 块在写入磁盘之前将其处理
猜你喜欢
  • 2017-07-24
  • 2014-10-29
  • 2013-10-28
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2014-04-03
  • 2015-12-01
  • 2016-06-10
相关资源
最近更新 更多