You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

C#中如何将函数返回的自定义对象列表按指定格式写入文本文件

嘿,这个需求很清晰,我给你整理了两种主流编程语言的实现方案,你直接套用就行:

自定义类列表转指定格式文本文件实现方案

C# 实现示例

首先假设你的自定义类和业务函数是这样的:

// 自定义类定义
public class CustomItem
{
    public string Index { get; set; }
    public int Count { get; set; }
}

// 返回自定义类列表的大型函数
public List<CustomItem> GetCustomItems()
{
    // 这里替换成你的实际业务逻辑
    return new List<CustomItem>
    {
        new CustomItem { Index = "BOOK_FROM_STORE", Count = 27 },
        new CustomItem { Index = "ELECTRONIC_OFFLINE", Count = 42 }
    };
}

接下来是写入文本文件的核心逻辑,用File.WriteAllLines可以一步搞定:

// 获取函数返回的结果列表
var itemList = GetCustomItems();

// 将每个对象转换为要求的格式字符串
var formattedLines = itemList.Select(item => $"{item.Index} : {item.Count}");

// 写入文件,可替换为你需要的文件路径
File.WriteAllLines("output.txt", formattedLines, Encoding.UTF8);

小提示:如果你的Index包含非ASCII字符(比如中文),一定要指定Encoding.UTF8避免乱码。

Python 实现示例

Python里可以用普通类或者更简洁的dataclass来定义你的自定义类型:

# 方式1:普通类定义
class CustomItem:
    def __init__(self, index: str, count: int):
        self.Index = index
        self.Count = count

# 方式2:用dataclass(Python 3.7+支持,更简洁)
from dataclasses import dataclass

@dataclass
class CustomItem:
    Index: str
    Count: int

# 返回自定义类列表的函数
def get_custom_items():
    # 替换为你的实际业务逻辑
    return [
        CustomItem("BOOK_FROM_STORE", 27),
        CustomItem("CLOTHING_ONLINE", Count=18)
    ]

写入文件的逻辑用with语句自动管理资源,是Python的最佳实践:

# 获取结果列表
item_list = get_custom_items()

# 打开文件并写入,指定UTF-8编码避免乱码
with open("output.txt", "w", encoding="utf-8") as f:
    for item in item_list:
        f.write(f"{item.Index} : {item.Count}\n")

额外注意事项

  • 文件路径:如果用相对路径,文件会生成在程序当前运行目录下;需要绝对路径的话直接写全路径即可(比如C#的@"D:\data\result.txt",Python的r"D:\data\result.txt")。
  • 空列表处理:如果函数返回空列表,写入的文件会是空的,你可以根据需求加个判断,比如写入一行"No data available"。

内容的提问来源于stack exchange,提问作者shade999

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.01 01:52:44