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);
            }
        }
时间: 2024-11-12 01:35:47

C#学习笔记-stream,win8.1开发小记的相关文章

Android:日常学习笔记(8)———探究UI开发(5)

Android:日常学习笔记(8)---探究UI开发(5) ListView控件的使用 ListView的简单用法 public class MainActivity extends AppCompatActivity { private String[] data={"Apple","Banana","Orange","Watermelon","Pear","Grape","

cocos2dx游戏开发——微信打飞机学习笔记(一)——开发准备

一.环境的搭建 1.Windows开发准备: (1)软件下载及安装 •下载Cocos2d-x 最新版本:http://www.cocos2d-x.org/download 或者从Cocos2d-x GitHub主页中克隆Develop分支:https://github.com/cocos2d/cocos2d-x •配置Python 2.7 环境:http://www.python.org/download/releases/ •建议IDE:Visual Studio 2013 •运行cocos2

Android:日常学习笔记(8)———探究UI开发(2)

Android:日常学习笔记(8)---探究UI开发(2) 对话框 说明: 对话框是提示用户作出决定或输入额外信息的小窗口. 对话框不会填充屏幕,通常用于需要用户采取行动才能继续执行的模式事件. 提示: Dialog 类是对话框的基类,但您应该避免直接实例化 Dialog,而是使用下列子类之一: AlertDialog此对话框可显示标题.最多三个按钮.可选择项列表或自定义布局. DatePickerDialog 或 TimePickerDialog此对话框带有允许用户选择日期或时间的预定义 UI

stm32学习笔记之win8系统下,keil4出现黑块的解决方法

前不久,笔者安装keil4启动会出现黑块,如图所示 当时询问了不少技术群都没有找到解决办法,并且还在百度贴吧发贴,最终都无果而终 这是当时发贴地址 http://tieba.baidu.com/p/3176578044 后来重做了个系统,才勉强能使用.直至今天又出现了同样的状况.在此之间笔者发现当keil4出现黑块,win8自带的记事本也会出现未响应状况,于是上网找解决方法,最终网友 oafaq给了我思路 这是他的原文地址 http://blog.sina.com.cn/key9928 .原来我

springmvc学习笔记(13)-springmvc注解开发之集合类型參数绑定

springmvc学习笔记(13)-springmvc注解开发之集合类型參数绑定 springmvc学习笔记13-springmvc注解开发之集合类型參数绑定 数组绑定 需求 表现层实现 list绑定 需求 表现层实现 map绑定 本文主要介绍注解开发的集合类型參数绑定,包含数组绑定,list绑定以及map绑定 数组绑定 需求 商品批量删除,用户在页面选择多个商品.批量删除. 表现层实现 关键:将页面选择(多选)的商品id,传到controller方法的形參,方法形參使用数组接收页面请求的多个商

Android:日常学习笔记(7)———探究UI开发(1)

Android:日常学习笔记(7)---探究UI开发(1) 常用控件的使用方法 TextView 说明:TextView是安卓中最为简单的一个控件,常用来在界面上显示一段文本信息. 代码: <TextView android:id="@+id/text_view" android:layout_width="match_parent" android:layout_height="wrap_content" android:text=&qu

Android:日常学习笔记(7)———探究UI开发(4)

Android:日常学习笔记(7)---探究UI开发(4) UI概述  View 和 ViewGrou Android 应用中的所有用户界面元素都是使用 View 和 ViewGroup 对象构建而成.View 对象用于在屏幕上绘制可供用户交互的内容.ViewGroup 对象用于储存其他 View(和 ViewGroup)对象,以便定义界面的布局. 说明: View是安卓中最基本的一种UI,它可以在屏幕上绘制一块矩形区域,并能响应这块区域的各种事件,我们使用的各种控件都是在View的基础上进行的

springmvc学习笔记(11)-springmvc注解开发之简单参数绑定

springmvc学习笔记(11)-springmvc注解开发之简单参数绑定 springmvc学习笔记11-springmvc注解开发之简单参数绑定 spring参数绑定过程 默认支持的类型 简单类型 pojo绑定 自定义参数绑定实现日期类型绑定 springmvc和struts2的区别 本文主要介绍注解开发的简单参数绑定,包括简单类型.简单pojo以及自定义绑定实现类型转换 spring参数绑定过程 从客户端请求key/value数据,经过参数绑定,将key/value数据绑定到contro

springmvc学习笔记(13)-springmvc注解开发之集合类型参数绑定

springmvc学习笔记(13)-springmvc注解开发之集合类型参数绑定 springmvc学习笔记13-springmvc注解开发之集合类型参数绑定 数组绑定 需求 表现层实现 list绑定 需求 表现层实现 map绑定 本文主要介绍注解开发的集合类型参数绑定,包括数组绑定,list绑定以及map绑定 数组绑定 需求 商品批量删除,用户在页面选择多个商品,批量删除. 表现层实现 关键:将页面选择(多选)的商品id,传到controller方法的形参,方法形参使用数组接收页面请求的多个商

VSTO 学习笔记(十一)开发Excel 2010 64位自定义公式

原文:VSTO 学习笔记(十一)开发Excel 2010 64位自定义公式 Excel包含很多公式,如数学.日期.文本.逻辑等公式,非常方便,可以灵活快捷的对数据进行处理,达到我们想要的效果.Excel的内置公式虽然强大,但是在ERP等系统中,往往需要进行很多业务上的计算,如收发存台账.指定年.月.部门的消耗查询等,都是需要从数据库中查询的,且和业务紧密相连.这时仅仅依靠Excel的内置公式就不够了,需要添加自定义的公式来进行这些业务计算. 测试代码下载 本系列所有测试代码均在Visual St