歡迎光臨 pure C# 技術社群. 登入註冊

pure C# 技術社群

- Microsoft .NET Framework 相關技術非官方討論社群 -

[請教]C# 陣列迴圈 寫法問題

  • 1
  • [第1/1頁 共5項]
#1

[請教]C# 陣列迴圈 寫法問題

  • a
 0.0 (0 人評價)

我下面連續Print了35次的陣列..
有沒有前輩 可以指導或示範 怎樣改寫成陣列迴圈呢? 讓他漂亮簡單點~


using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Text;
using System.Windows.Forms;
using System.IO;
namespace WindowsApplication1
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}

private void Form1_Load(object sender, EventArgs e)
{
this.hISTableAdapter.Fill(this.hL7DataSet.HIS);
saveFileDialog1.InitialDirectory = @"C:\";
saveFileDialog1.Filter = "CSV File (*.csv)| *.csv";
}
string[] At = new string[100];
private void button1_Click(object sender, EventArgs e)
{
DialogResult result = saveFileDialog1.ShowDialog();
if (result == DialogResult.OK)
{
StreamWriter bw;
bw = new StreamWriter(
(File.Open(saveFileDialog1.FileName, FileMode.Create)
), System.Text.Encoding.Default);
bw.WriteLine("資料狀態|,|..|");

foreach (DataTable dt in hL7DataSet.Tables)
{


foreach (DataRow row in dt.Rows)
{
At[0] = row[0].ToString();
At[1] = row[1].ToString();
At[2] = row[2].ToString();
.
.
.
.
.
.
.
(這部分如上面的方式連印了35次

At[36] = At[1] + "|,|" + At[2] + "|,|" + At[3] + "|,|" + 。。。。 At[35] + "|,|@|";
(這部份也是連印35次)

bw.WriteLine(At[36]);
}

}
bw.Close();
}
else
{
MessageBox.Show("請選擇存放位置...");
}
}

}
}
}


  • 回覆
  • |
  • 引用
  • |
  • 編輯
  • |
  • 私人訊息


贊助商連結

#2

Re: [請教]C# 陣列迴圈 寫法問題

  • a
 0.0 (0 人評價)
foreach (DataTable dt in hL7DataSet.Tables)
{
    foreach (DataRow row in dt.Rows)
    {
        for(int i=0; i<36; i++)
        {
            At[i] = row[i].ToString();

            At[36] = At[36] + At[i] + "|,|";
            if(i == 35)
            {
                At[36] = At[36] + "@|";
            }
        }
        bw.WriteLine(At[36]);
    }
}

我乃:英俊瀟灑風流倜儻玉樹臨風年少多金神勇威武天下無敵刀槍不入唯我獨尊玉面郎君仁者無敵金剛不壞英明神武俠義非凡義薄雲天古往今來無與倫比謙虛好學不恥下問談吐大方風度翩翩氣勢凌人氣質高貴貌賽潘安智勝孔明義超關羽巧越魯班英勇無比震古爍今的鄉民代表
  • 回覆
  • |
  • 引用
  • |
  • 編輯
  • |
  • 私人訊息

#3

Re: [請教]C# 陣列迴圈 寫法問題

  • a
 0.0 (0 人評價)
改成這樣不是更好嗎
最後那個if()沒必要放在內層回圈裏吧
foreach (DataTable dt in hL7DataSet.Tables)
{
    foreach (DataRow row in dt.Rows)
    {
        for(int i=0; i<36; i++)
        {
            At[i] = row[i].ToString();
            At[36] = At[36] + At[i] + "|,|";
        }
        At[36] = At[36] + "@|";
        bw.WriteLine(At[36]);
    }
}

簽名檔是用來放美女的
  • 回覆
  • |
  • 引用
  • |
  • 編輯
  • |
  • 私人訊息

#4

Re: [請教]C# 陣列迴圈 寫法問題

  • a
 0.0 (0 人評價)
這樣說起來跟本不用宣告At陣列啊
使用StringBuilder去連接字串效率更高
而且內層的for回圈可以用dt的Columns.Count代替

StringBuilder At = new StringBuilder();
foreach (DataTable dt in hL7DataSet.Tables)
{
    foreach (DataRow row in dt.Rows)
    {
       At.Remove(0, At.Length)
        for(int i=0; i<dt.Columns.Count; i++)
        {
            At.Append(row[i].ToString());
            At.Append("|,|");
        }
        At.Append("@|");
        bw.WriteLine(At.ToString());
    }
}

換衣服時掉出三樣物品,分別是「粉味店的火柴」、「沒中的賽馬券」以及「從前親密女性的照片」,不幸的這全發生在老婆的眼前,如此危急的關頭一雙手要如何化解(遮住)這危機呢
  • 回覆
  • |
  • 引用
  • |
  • 編輯
  • |
  • 私人訊息

#5

Re: [請教]C# 陣列迴圈 寫法問題

  • a
 0.0 (0 人評價)
DataRow本來就有ItemArray屬性可以直接傳回陣列啊

  • 回覆
  • |
  • 引用
  • |
  • 編輯
  • |
  • 私人訊息
  • 1
  • [第1/1頁 共5項]