zoukankan      html  css  js  c++  java
  • C#学习笔记-stream,win8.1开发小记

    流用于对IO处理

    在System.IO名称空间中有以下类

    BinaryReader/Writer

    TextReader/Writer

    Stream

    其中类Stream为抽象类。由此有三个派生类:

    MemoryStream:对内存进行读取与写入

    BufferedStream:对缓冲器进行读取/写入

    FileStream:对文件执行读取与写入

    TextReader/Writer为抽象类。由此派生类:

    StreamReader/StreamWirter

    StringReader/StreamWriter

    需要引入命名空间:

    using System.IO

    内存流与缓冲的使用举例: 
    
    MemoryStream memStream=new MemoryStream(); 
    
    BufferedStream bufStream=new BufferedStream(memStream); 
    
    byte[] b=new byte[10]; 
    
    for(int i=0;i<10;i++) 
    
    { 
    
    bufStream.WriteByte((byte)i); 
    
    } 
    
    bufStream.Position=0; 
    
    bufStream.Read(b,0,9); 
    
    for(int i=0;i<10;i++) 
    
    { 
    
    Console.WriteLine("读的值是:{0}",b[i]); 
    
    } 
    
    Console.WriteLine("值是:{0}",bufStream.ReadByte()); 
    
    Console.ReadLine();
    文件流的使用 
    
    string s=Console.ReadLine(); 
    
    FileStream fileStream=new FileStream(s,FileMode.OpenOrCreate); 
    
    BinaryWriter binStream=new BinaryWriter (fileStream); 
    
    for(int i=1;i<=10;i++) 
    
    { 
    
    binStream.Write((int)i); 
    
    } 
    
    binStream.Close(); 
    
    fileStream.Close(); 
    
    FileStream f=new FileStream(s,FileMode.Open,FileAccess.Read,FileShare.ReadWrite); 
    
    BinaryReader buf=new BinaryReader(f); 
    
    for(int i=1;i<10;i++) 
    
    { 
    
    
    Console.WriteLine("输出{0}",buf.ReadByte ()); //在vs2012中这样不能读出东西来
    
    Console.WriteLine("输出{0}",Bur.ReadInt32());才行,因为int是32位的
    
    }
    文本流的使用 
    
    string fileName,s; 
    
    fileName=Console.ReadLine(); 
    
    StreamWriter fn=new StreamWriter(fileName,true); 
    
    for(int i=1;i<10;i++) 
    
    { 
    
    s=Console.ReadLine(); 
    
    fn.WriteLine(s); 
    
    } 
    
    fn.Close(); 
    
    StreamReader fr=new StreamReader(fileName); 
    
    
    for(int i=1;i<10;i++) 
    
    { 
    
    s=fr.ReadLine(); 
    
    Console.WriteLine(s); 
    
    } 
    
    fr.Close(); 
    
    Console.ReadLine();

    C#开发win8.1程序可以利用stackPane实现同一个位置多个控件的交替

     private void delete_Click(object sender, RoutedEventArgs e)
            {
                database.delete(myCorrectWindows.affair);
                enter.Visibility = Visibility.Collapsed;
                cancel.Visibility = Visibility.Collapsed;
                correct.Visibility = Visibility.Collapsed;
                delete.Visibility = Visibility.Collapsed;
                words.Visibility = Visibility.Visible;
                dragon_image.Visibility = Visibility.Collapsed;
                correct_window.Children.Clear();
                affair_list.Items.Clear();
                var items = database.query(myDate.Year, myDate.Month, myDate.Day);
                foreach (var item in items)
                {
                    MyItem myItem = new MyItem(item);
                    myItem.DoubleTapped += click_listener;
                    affair_list.Items.Add(myItem);
                }
            }

    主要是通过设置visibility属性,并且通过数据库查询到控件添加

    利用linq对数据库的数据进行排序

     private void sort_by_import_Click(object sender, RoutedEventArgs e)
            {
                SQLite.TableQuery<Affair> items;
                if (bundle.mode_num == 0)
                    items = database.query(bundle.date.Year);
                else
                    items = database.query(bundle.date.Year, bundle.date.Month);
                items = from x in items
                        orderby x.importance
                        select x;
                affair_list.Items.Clear();
                foreach (var item in items)
                {
                    var temp = new MyItem(item);
                    temp.DoubleTapped += click_to_correct;
                    affair_list.Items.Add(temp);
                }
            }
  • 相关阅读:
    二分图的匹配(未完) yongmou
    树型动态规划 yongmou
    最大堆 yongmou
    C/C++ 编程环境搭建与配置 eclipse + cdt + MinGW yongmou
    ACM必备(学完一个就加亮一个)不多,就这些! yongmou
    joj 2558 Ocean Currents 特别的广搜 yongmou
    Android:自定义对话框
    ubuntu升级11.10后ADT无法安装解决办法
    处理GridView数据源(DataTable)为空行(转)
    ASP.NET无法连接到SQL Server的问题
  • 原文地址:https://www.cnblogs.com/tjullin-251249/p/4495220.html
Copyright © 2011-2022 走看看