小编XSL*_*XSL的帖子

Directory.GetFiles的某些扩展名

有没有办法简化这个linq表达式,还是有更好的方法来做到这一点?

Directory.GetFiles(dir, "*.*", SearchOption.AllDirectories)
         .Where(s => s.EndsWith(".jpg", StringComparison.OrdinalIgnoreCase) ||
                     s.EndsWith(".gif", StringComparison.OrdinalIgnoreCase) ||
                     s.EndsWith(".png", StringComparison.OrdinalIgnoreCase) ||
                     ...);
Run Code Online (Sandbox Code Playgroud)

基本上我想返回某个扩展名的所有文件.不幸的是,这种方法不是很灵活.我宁愿能够在列表中添加扩展名,并让Directory.GetFiles返回这些扩展名.那可能吗?

c# linq directory getfiles

50
推荐指数
3
解决办法
9万
查看次数

将字典绑定到转发器

我有一个字典对象,<string, string>并希望将其绑定到转发器.但是,我不确定在aspx标记中放置什么来实际显示键值对.没有抛出错误,我可以使用它List.如何在转发器中显示字典?

c# asp.net data-binding dictionary repeater

40
推荐指数
3
解决办法
3万
查看次数

在意外的时间调用了一个方法

我正在尝试使用GetFilesAsync迭代目录中的所有文件,但每次调用GetResults方法时,它都会抛出一个异常

System.InvalidOperationException:在意外时间调用了一个方法

代码很简单

var files = myStorageFolder.GetFilesAsync(); //runs fine
var results = files.GetResults(); //throws the exception
Run Code Online (Sandbox Code Playgroud)

我是Win 8 dev的新手,所以我可能会遗漏一些明显的东西.

编辑(已解决) 我正在运行我的控制台应用程序,但现在该程序运行异步,该files.GetResult()方法不再存在.

static void Main(string[] args)
{
   var files = GetFiles(myStorageFolder);
   var results = files.GetAwaiter().GetResults();//Need to add GetAwaiter()
}

static async Task GetFiles(StorageFolder sf)
{
   await sf.GetFilesAsync();
}
Run Code Online (Sandbox Code Playgroud)

exception local-storage windows-8 windows-runtime winrt-async

23
推荐指数
2
解决办法
2万
查看次数

返回所有重复的行

我写了这段代码来查找重复项,它工作正常:

SELECT *
FROM StyleTable 
GROUP BY Color
HAVING count(*) > 1 
Run Code Online (Sandbox Code Playgroud)

问题是,它只返回一个重复的行.是否可以返回所有重复的行?我猜这可能与'GROUP BY'有关,但我不知道如何改变它.我不想删除值,只返回它们.

sql sqlite select group-by duplicates

14
推荐指数
2
解决办法
1万
查看次数

参考非托管程序集

我试图在我的.NET项目中引用托管DLL,而不将其复制到我的输出目录中.因此,当我的程序运行时,它会从安装的位置运行DLL - 无论在哪里.问题在于这个托管DLL调用非托管DLL.当我尝试引用托管DLL时,它会抛出一个FileNotFound Exception - Could not load file or assembly 'CharacterGen' or one of its dependencies. The system cannot find file specified.当我将输出设置在与我引用的DLL相同的目录中时,一切正常.通常的解决方案是引用从另一个程序集中调用的DLL.但是,我无法从我的托管程序中引用非托管程序集.

有没有办法引用调用非托管DLL的托管DLL?

.net c# dll assemblies reference

9
推荐指数
1
解决办法
9135
查看次数

通过API刷新Twitter页面

我正在使用Twitter API(通过TweetSharp),并想知道是否可以从API自动刷新页面,以便所有用户都能看到更新?如果是这样,是否还可以通过仅部分页面更新来进一步更新,以便仅更新相关更改而不是整个页面?

谢谢你的帮助

c# twitter refresh partial-page-refresh

7
推荐指数
1
解决办法
1069
查看次数

可以在泛型方法中使用IList但不能使用List

我正在尝试创建一个方法,该方法返回用户想要的任何类型的列表.要做到这一点,我使用的是泛型,我不太熟悉,所以这个问题可能很明显.问题是此代码不起作用并抛出错误消息Cannot convert type Systems.Collections.Generic.List<CatalogueLibrary.Categories.Brand> to Systems.Collection.Generic.List<T>

private List<T> ConvertToList<T>(Category cat)
{            
     switch (cat)
     {
         case Category.Brands:
             return (List<T>)collection.Brands.ToList<Brand>();

     }
    ...
}
Run Code Online (Sandbox Code Playgroud)

但如果我使用IList,则没有错误.

private IList<T> ConvertToList<T>(Category cat)
{            
     switch (cat)
     {
         case Category.Brands:
             return (IList<T>)collection.Brands.ToList<Brand>();

     }
     ...
} 
Run Code Online (Sandbox Code Playgroud)

在这种情况下,为什么我可以使用IList而不使用List?collection.Brands BrandCollection从第三方库返回一个类型,所以我不知道它是如何创建的.可能是BrandCollection从IList派生的(只是猜测它确实如此),所以它可以转换为它而不是正常的List?

c# generics ilist interface list

7
推荐指数
1
解决办法
377
查看次数

在隔离存储中绑定图像

嘿.我有一个用户可以搜索的项目列表.搜索结果显示在列表框中.每个animal对象都有一个指向隔离存储中图像的路径.将listboxitem中的Image控件绑定到隔离存储中的图像的最快方法是什么?我见过的例子倾向于显示来自互联网的图像而不是隔离存储.如果我有大约10张图像,它似乎会占用所有内存并崩溃.谢谢

编辑:

我在我的BitmapConverter课堂上使用它(继承了IValueConverter)

        public object Convert(object value, Type targetType, object parameter, System.Globalization.CultureInfo culture)
        {
            if (value !=null)
            {
                BitmapImage bitmapImage = new BitmapImage();
                bitmapImage.SetSource(new MemoryStream((Byte[]) value));
                return bitmapImage;
            }
            else
            {
                return null;
            }
        }
Run Code Online (Sandbox Code Playgroud)

我把它放在AppResource.xaml文件的顶部:

    <ImageApp_Converter:BitmapConverter x:Key="bmpConverter" />    

In my style, within the AppResource.xaml file:

<Image  HorizontalAlignment="Left" Margin="8,8,0,4" Width="160" Height="120" Source="{Binding Converter={StaticResource bmpConverter}}"   />
Run Code Online (Sandbox Code Playgroud)

我在我的BitmapConverter中设置了一个断点,但它从未被调用过.我之前从未使用过IValueConverter,所以任何帮助都会很棒.谢谢

c# silverlight binding isolatedstorage windows-phone-7

6
推荐指数
1
解决办法
3204
查看次数

使用Codebase加载程序集

基于这个问题,我尝试使用<codebase>定位外部组件.现在,当我运行该程序时,我收到一条错误消息,指出私有程序集位于appbase之外.我该如何解决这个问题?我看到的一个建议就是签署集会.我做了这个,但后来我的程序找不到程序集.当我取消签名时,我收到outside the appbase错误.如何加载位于其他地方使用<codebase>而不是安装到GAC的程序集?(探测也不起作用,似乎它仍然必须存在于应用程序文件夹中)我的配置文件:

<?xml version="1.0" encoding="utf-8" ?>
<configuration>
  <runtime>
    <assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
      <dependentAssembly>

        <assemblyIdentity name="NGameHost"

                          culture="neutral" />
        <codeBase version="1.0.0.0" 
                  href="C:/Program Files/NetworkGame3/api/NGameHost.exe"/>
      </dependentAssembly>
    </assemblyBinding>
  </runtime>

</configuration>
Run Code Online (Sandbox Code Playgroud)

c# codebase console-application .net-assembly assembly-signing

6
推荐指数
1
解决办法
9551
查看次数

寻找非官方的命令行开关

我怎样才能找到给定应用程序的命令行参数?我知道你可以使用/?,如果应用程序支持它,它将显示开关,但有没有办法在程序中找到"非官方的"?

windows debugging command-line switch-statement command-line-arguments

5
推荐指数
1
解决办法
2307
查看次数