Archive for 2009年1月5日

Linqでファイルを作成日順でソート

2009年1月5日

MSDNのサンプルそのままだけど、ちょっと便利。
       private void Form1_Load(object sender, EventArgs e)
        {
            string startFolder = @"C:\My Documents\My Pictures\";

            // Take a snapshot of the file system.
            IEnumerable fileList = GetFiles(startFolder);

            //Create the query
            IEnumerable fileQuery =
                from file in fileList
                where file.Extension == ".jpg"
                orderby file.Name
                select file;

            // Create and execute a new query by using the previous
            // query as a starting point. fileQuery is not
            // executed again until the call to Last()
            var files =
                (from file in fileQuery
                 orderby file.CreationTime
                 select new { file.FullName, file.CreationTime });
        }

        // This method assumes that the application has discovery
        // permissions for all folders under the specified path.
        static IEnumerable GetFiles(string path)
        {
            if (!System.IO.Directory.Exists(path))
                throw new System.IO.DirectoryNotFoundException();

            string[] fileNames = null;
            List files = new List();

            fileNames = Directory.GetFiles(path, "*.*", SearchOption.AllDirectories);
            foreach (string name in fileNames)
            {
                files.Add(new FileInfo(name));
            }
            return files;
        }
広告

サービス参照の追加(VS2008) と Web参照の追加(VS2005)

2009年1月5日

VS2005 では、サービス参照の追加から、次のようなサービスを追加することができる。このダイアログの一番下に、参照設定ボタンがある。

image 

この参照設定ボタンをクリックすると、次のようなサービス参照設定の詳細を指定することができる。このダイアログの一番下に、互換性ということで、Web 参照の追加ボタンがある。.NET Framework 2.0 web サービステクノロジーに基づいたコードを生成することができる。

image

Web 参照の追加ボタンを押すと、昔懐かしいWeb 参照ダイアログが表示される。

image

.NET 2.0とそれ以降では、生成されるコードが若干違ってくるので、注意が必要。