我主要是一名C#程序员,但是留下了一个让我有两个选择的项目:
当然,如果我可以简单地实施选项1,选项2是主要的浪费时间.此外,选项1是一个学习机会,而选项2是一个极端的极客拼写.
所以,我的问题是:有没有办法构建一个C#Process对象来触发.py文件的脚本并在不使用IronPython的情况下捕获脚本的返回值?我没有任何可能使用IronPython的东西,我只需要尽快找到解决方案,所以如果我可以回避IP学习曲线,直到我不那么紧急的工作,这将是最佳的.
谢谢.
在我上一个公司,我遇到了一个非常聪明的方法,为某些分隔字符串或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)
?