数学中一个很简单的组合 但用程序如何去实现呢?
2011-03-24 09:57
316 查看
最近遇到一个简单需求,就是要能动态算出给出的几组数据的组合方式。
我也问了好多朋友,但都没解决,上次我一篇博文 如何下载未知扩展名的图片的文章(
凌 晨01:30 发一个求助 SOS 抓取远程无扩展名的图片)就在博客园各位大侠的帮助下顺利解决,博客园的平台真的很不错。
我把我最终整理的下载未知扩展名的图片的方法贴出来:
/// <summary>
/// 抓取远程图片 自动识别扩展名
/// </summary>
/// <param name="url"></param>
/// <returns></returns>
private string getRemoteImg(string url)
{
string rtnString = string.Empty;
HttpWebRequest request = (HttpWebRequest)WebRequest.Create(url);
request.Method = "GET";
try
{
using (HttpWebResponse response = (HttpWebResponse)request.GetResponse())
{
string fileExt = string.Empty;
string fileName = DateTime.Now.ToString("yyyyMMddhhmmssss");
string FileExtNum = string.Empty;
using (Stream stream = response.GetResponseStream())
{
byte[] retBytes = null;
using (MemoryStream ms = new MemoryStream())
{
int b;
int i = 0;
while ((b = stream.ReadByte()) != -1)
{
i++;
if (i <= 2)
{
FileExtNum += b.ToString();
}
ms.WriteByte((byte)b);
}
retBytes = ms.ToArray();
}
switch (FileExtNum)
{
case "255216":
fileExt = "jpg";
break;
case "7173":
fileExt = "gif";
break;
case "13780":
fileExt = "png";
break;
case "6677 ":
fileExt = "bmp";
break;
}
if (!string.IsNullOrEmpty(fileExt))
{
if (!Directory.Exists(Application.StartupPath + "\\UploadFiles\\"))//若文件夹不存在则新建文件夹
{
Directory.CreateDirectory(Application.StartupPath + "\\UploadFiles\\"); //新建文件夹
}
string localPath = Application.StartupPath + "\\UploadFiles\\" + fileName + "." + fileExt + "";
using (FileStream fs = new FileStream(localPath, FileMode.Create))
{
using (BinaryWriter sr = new BinaryWriter(fs))
{
sr.Write(retBytes, 0, retBytes.Length);
sr.Close(); fs.Close();
if (System.IO.File.Exists(localPath))
{
rtnString = "UploadFiles/" + fileName + "." + fileExt + "";
}
}
}
}
}
}
}
catch (Exception ex)
{
throw ex;
}
return rtnString;
}
这次小弟又遇到一个棘手的新问题,都已经好多天了,也问了不少朋友,都没有得到解决,这次又要来麻烦园子里的朋友了。也希望大家能多多交流!
先贴一个图: 这个数据是我自己编造的 ,是为了更好的把问题解释清楚。
如上图,假如要组装一个电脑 电脑的某一个配件可以选择不同的品牌 不同的品牌的价格当然也不一样
所以 希望能知道,要配一个电脑,可以用以上不同类别的组件来配,各种组合的情况是什么样的 不考虑每一个类别之间的兼容性 只要排列方式。
我也问了好多朋友,但都没解决,上次我一篇博文 如何下载未知扩展名的图片的文章(
凌 晨01:30 发一个求助 SOS 抓取远程无扩展名的图片)就在博客园各位大侠的帮助下顺利解决,博客园的平台真的很不错。
我把我最终整理的下载未知扩展名的图片的方法贴出来:
/// <summary>
/// 抓取远程图片 自动识别扩展名
/// </summary>
/// <param name="url"></param>
/// <returns></returns>
private string getRemoteImg(string url)
{
string rtnString = string.Empty;
HttpWebRequest request = (HttpWebRequest)WebRequest.Create(url);
request.Method = "GET";
try
{
using (HttpWebResponse response = (HttpWebResponse)request.GetResponse())
{
string fileExt = string.Empty;
string fileName = DateTime.Now.ToString("yyyyMMddhhmmssss");
string FileExtNum = string.Empty;
using (Stream stream = response.GetResponseStream())
{
byte[] retBytes = null;
using (MemoryStream ms = new MemoryStream())
{
int b;
int i = 0;
while ((b = stream.ReadByte()) != -1)
{
i++;
if (i <= 2)
{
FileExtNum += b.ToString();
}
ms.WriteByte((byte)b);
}
retBytes = ms.ToArray();
}
switch (FileExtNum)
{
case "255216":
fileExt = "jpg";
break;
case "7173":
fileExt = "gif";
break;
case "13780":
fileExt = "png";
break;
case "6677 ":
fileExt = "bmp";
break;
}
if (!string.IsNullOrEmpty(fileExt))
{
if (!Directory.Exists(Application.StartupPath + "\\UploadFiles\\"))//若文件夹不存在则新建文件夹
{
Directory.CreateDirectory(Application.StartupPath + "\\UploadFiles\\"); //新建文件夹
}
string localPath = Application.StartupPath + "\\UploadFiles\\" + fileName + "." + fileExt + "";
using (FileStream fs = new FileStream(localPath, FileMode.Create))
{
using (BinaryWriter sr = new BinaryWriter(fs))
{
sr.Write(retBytes, 0, retBytes.Length);
sr.Close(); fs.Close();
if (System.IO.File.Exists(localPath))
{
rtnString = "UploadFiles/" + fileName + "." + fileExt + "";
}
}
}
}
}
}
}
catch (Exception ex)
{
throw ex;
}
return rtnString;
}
这次小弟又遇到一个棘手的新问题,都已经好多天了,也问了不少朋友,都没有得到解决,这次又要来麻烦园子里的朋友了。也希望大家能多多交流!
先贴一个图: 这个数据是我自己编造的 ,是为了更好的把问题解释清楚。
如上图,假如要组装一个电脑 电脑的某一个配件可以选择不同的品牌 不同的品牌的价格当然也不一样
所以 希望能知道,要配一个电脑,可以用以上不同类别的组件来配,各种组合的情况是什么样的 不考虑每一个类别之间的兼容性 只要排列方式。
相关文章推荐
- c# Winform 如何实现程序只能同时运行一个实例
- WCF技术剖析之二十七: 如何将一个服务发布成WSDL[基于WS-MEX的实现](提供模拟程序)
- WCF技术剖析之二十七: 如何将一个服务发布成WSDL[基于HTTP-GET的实现](提供模拟程序)
- 如何实现 画一个屏幕的渐变效果,并将其作为程序的背景模板
- 用UDP实现可靠文件传输,如何利用UDX创建一个简单的WIN32程序
- 如何实现程序只有一个实例
- MFC如何实现打开一个文件,就像安装完某个程序然后弹出一个readme.txt一样?
- 如何实现点击Winform程序窗体中的一个按钮,执行这个exe文件?
- 安卓如何实现点击一个按钮退出整个程序?
- 在一个程序中需要用到全局变量(在多个class之间共享数据),请问如何定义具有这种功能的变量?或者是否有其他的方法解决多个class之间的数据共享(尽量简单实现)。 首先应该明确 Java中没有全局变
- 如何将多个C语言模块组合成一个程序
- WCF技术剖析之二十七: 如何将一个服务发布成WSDL[基于HTTP-GET的实现](提供模拟程序)
- 有一个二叉树, 节点全部为整数,如何找到一个子树,它所有节点的和最大?要求编程序实现。
- 中国象棋程序的设计与实现(八)-如何构造一个棋子(車馬炮等)
- linux如何实现开机加载完图形界面后自动运行自己写的一个程序
- Java实训——创建一个窗体程序,实现简单的数学加、减法测试。
- 中国象棋程序的设计与实现(八)-如何构造一个棋子(車馬炮等)
- 用UDP实现可靠文件传输,如何利用UDX创建一个简单的WIN32程序
- 中国象棋程序的设计与实现(八)-如何构造一个棋子(車馬炮等)
- 中国象棋程序的设计与实现(八)-如何构造一个棋子(車馬炮等)