小编Fel*_*ght的帖子

Python&C#:IronPython绝对必要吗?

我主要是一名C#程序员,但是留下了一个让我有两个选择的项目:

  1. 调用python脚本(保存为.py文件)并处理返回值,或者......
  2. 在C#中重写整个python脚本(总共包含6个.py文件).

当然,如果我可以简单地实施选项1,选项2是主要的浪费时间.此外,选项1是一个学习机会,而选项2是一个极端的极客拼写.

所以,我的问题是:有没有办法构建一个C#Process对象来触发.py文件的脚本并在不使用IronPython的情况下捕获脚本的返回值?我没有任何可能使用IronPython的东西,我只需要尽快找到解决方案,所以如果我可以回避IP学习曲线,直到我不那么紧急的工作,这将是最佳的.

谢谢.

c# python

4
推荐指数
1
解决办法
997
查看次数

链接C#常量:

在我上一个公司,我遇到了一个非常聪明的方法,为某些分隔字符串或SQL表中的列的索引创建常量,但我一直想知道是否存在性能或其他缺陷我没抓住.

例如,如果包含地址信息的单个分隔字符串中有五个数据字段,您可能会看到以下内容:

const int INDX_NAME = 0;
const int INDX_ADDR = INDX_NAME + 1;
const int INDX_CITY = INDX_ADDR + 1;
const int INDX_STATE = INDX_CITY + 1;
const int INDX_ZIP = INDX_STATE + 1;
Run Code Online (Sandbox Code Playgroud)

这样,如果在将来,程序需要将名称和城市之间的两行地址分开(例如,一行上的街道地址,另一行上的套件编号),程序员必须做的就是添加线

const int INDX_ADDR2 = INDX_ADDR + 1;
Run Code Online (Sandbox Code Playgroud)

并将创建INDX_CITY的行更改为

const int INDX_CITY = INDX_ADDR2 + 1;
Run Code Online (Sandbox Code Playgroud)

简而言之,这似乎是处理可能发生变化的列/片段索引列​​表的一种非常聪明的方法,特别是如果列表是50多个项目,并且您需要在索引号3处添加一些内容.但是,我不确定多少这可能会开始影响性能,因为列表开始变大,或者是否还有一些我没有看到的固有缺陷.

有什么想法吗?有什么东西可以使这个懒惰的编程而不是聪明吗?

谢谢.

-编辑-

我可以看到枚举的价值在哪里得到我已经得到的回应,但是我担心如果我使用的每一个领域都与其他领域相距1个点,它们才会有用.如果我正在使用其他程序员也引用的一些数据存储,但我只关心总字段的一部分,那么我需要跳过我不关心的字段.

例如,我使用300个字段长的分隔字符串中的100个数据字段,但我的应用程序不关心字段1-4(数组计数).是否有一种干净的方式来使用枚举来替换

const int INDX_RECORD_ID = 0;
const int INDX_DATE_UPDATED = INDX_RECORD_ID + 5;
const int INDX_USER_UPDATED = INDX_DATE_UPDATE + 1;
...
Run Code Online (Sandbox Code Playgroud)

c# constants

1
推荐指数
2
解决办法
149
查看次数

标签 统计

c# ×2

constants ×1

python ×1