几道面试题

1.string str=null和string str=""有什么不同?
2.remoting和webservices有什么不同?
3.遍历所有的<filename>,使用递归方法,画出流程图。

1. 第一个是空引用(托管堆里无对象),第二个托管堆里有个空字符串

String str = null; 声明一个String对象变量,该变量不指向任何String对象。
String str = ""; 声明一个String对象变量,该变量指向""的对象
string str="" 会分配内存空间, 但string str=null不会


2. 都能开发分布式多层应用程序设计,如果需要在不同系统之间进行互操作,应该选择使用开放标准 (SOAP、XML、HTTP) 的 Web 服务方法,;如果各种系统中的所有组件都是 CLR 托管的,则 .NET Remoting“可能”是正确的选择
http://www.microsoft.com/china/MSDN/library/archives/library/dndotnet/html/dotnetremotearch.asp#dotnetremotearch_topic4

WebService是工业标准,基于Http协议传递.Remoting是.Net一个RPC调用机制,可以基于TCP协议,性能相对好些.

.NET Remoting主要用于分布式程序开发,小项目一般用不到,且更适合企业内部网(局域网使用),而且支持二进制传输与比WebServices速度要快。

3.
using System;
using System.IO;

class ListAllFilesDemo
{
public static void Main()
{
Console.Write("请输入要查询的目录: ");
string dir = Console.ReadLine();
try
{
ListFiles(new DirectoryInfo(dir));
}
catch(IOException e)
{
Console.WriteLine(e.Message);
}
}

public static void ListFiles(FileSystemInfo info)
{
if(!info.Exists) return;

DirectoryInfo dir = info as DirectoryInfo;
//不是目录
if(dir == null) return;

FileSystemInfo [] files = dir.GetFileSystemInfos();
for(int i = 0; i < files.Length; i++)
{
FileInfo file = files[i] as FileInfo;
//是文件
if(file != null)
Console.WriteLine(file.FullName + "/t" + file.Length);
//对于子目录,进行递归调用
else
ListFiles(files[i]);

}
}
}

----------------------------------------------------------------------
public void PrintFiles(string dir)
{
    //检测dir的合法性
    string[] files = Directory.GetFiles(dir);
    foreach(string file in files)
        Console.WriteLine(file);
    string[] folders =  Directory.GetDirectories(dir);
    foreach (string folder in folders)
        PrintFiles(folder);
}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值