使用存储在Enum中的值作为字符串文字的最佳方法是什么?例如:
public enum Modes {
some-really-long-string,
mode1,
mode2,
mode3
}
Run Code Online (Sandbox Code Playgroud)
然后我可以用它Mode.mode1来返回它的字符串表示mode1.无需继续通话Mode.mode1.toString().
我正在编写一个C#应用程序来使用Linkedin的API.
我希望能够照顾"人"(名字+姓氏)并检索有关这一群人的所有可能信息 with the same name
我目前正在使用我自己的REST API实现与People-Search API调用一起使用.
这是我的请求,有效:
https://api.linkedin.com/v1/people-search:(people:(id,first-name,last-name,headline,picture-url),num-results)?
Run Code Online (Sandbox Code Playgroud)
这样做(有:first-name=parameter&last-name=parameter after the ? mark)
问题是,我想要检索更多信息,如:标题,行业,当前公司,当前学校等.请参阅此处的可能参数列表
这种表示法就是他们所说的Field Selectors
我如何构建我的API调用,以便我可以获得有关某人的所有可能信息?
范围:
我正在编写一组工具来帮助人们在MongoDB数据库上运行常规操作,"导出"数据就是其中之一.
目前我支持完整的JSON导出和"CSV",但后者更加棘手.
导出工具允许"ConfigFile"指定哪些字段将被反序列化(来自BsonDocument),而不是关心它们的类型.大多数类型目前正在运作,但"ISO"日期仍令我头疼.
动态反序列化
目前我依靠JObjects来处理"Json"文档的解析,就像这样:
// Json Writer Settings - To avoid problems with 10Gen types
var jsonSettings = new JsonWriterSettings () { OutputMode = JsonOutputMode.Strict };
// Mapping string to a dynamic json object
JObject mappedJson = JObject.Parse (jsonObject.ToJson (jsonSettings));
// Trying to extract property values out of the object
foreach (Field field in _configuration.Fields)
{
// Checking for JToken Type
JTokenType objType = fieldData.Type;
// Sanity Check for NULL Values of …Run Code Online (Sandbox Code Playgroud) 范围
我开始编写一个脚本,它将对API进行链式调用(带有JSON响应),并将结果写入电子表格.
怎么了:
一旦我调试脚本代码,它运行正常,没有重大问题,但一旦我从电子表格按钮本身(从我创建的菜单)运行它它运行脚本的一些步骤,然后弹出一个:Service Error: Spreadsheet没有其他错误详情.
怪事
我开始将进程的当前步骤"记录"到Spreadsheet单元格,以便我可以在从调试器运行脚本时监视其进度.
问题是,一旦我移动了一些"随机"的部分,例如:
sheet.getRange("F2").setValue(currentPage);
Run Code Online (Sandbox Code Playgroud)
代码往往会在不同的点上突破.
代码示例:
您可以在此处找到重现问题的代码:http://pastebin.com/HjmSwEYZ
你所要做的就是:
1 - 在Google云端硬盘上创建新的电子表格
2 - 命中工具 - >脚本编辑器
3 - 创建新脚本,粘贴代码并保存
4 - 重新加载电子表格(F5),以便自定义菜单现在显示为"Guild Wars 2 Tracker"
5 - 单击按钮并单击"全部列出"
期望的输出:
这段代码应该是什么(如果不是这个错误),那就是:
1 - 在此网址上执行请求:http://www.gw2spidy.com/api/v0.9/json/items/all/1 (将返回Guild Wars 2 itens的第一页)
2 - 遍历每个页面,解析json并将返回的值写入电子表格
免责声明:
对于表格中的所有"日志"消息,我们深表歉意.这是追踪我进步的绝望尝试,我知道我不应该这样做.
提前致谢
更新1:
在创建另一个电子表格并将pastebin代码粘贴到自己的脚本项目中后,我可以在交互时运行它,但就是这样.这次,它引发了一个不同的错误:We're sorry, a server error occurred. Please wait a bit and try again.
我正在编写一个应用程序来从LinkedIn获取信息.到目前为止,我只在oAuth上找到了一个代码示例.我无法理解oAuth的工作流程,例如:
Username/Password组合登录LinkedIn并返回令牌,但在我的情况下,我将始终使用相同的LinkedIn帐户.由于我总是会使用相同的用户来访问LinkedIn API,有没有办法这样做,所以我不必为每个访问请求重新输入用户名和密码?facebook API允许我将令牌设置为不过期,从而允许我将此令牌保存为Attribute我的应用程序内部).
这个想法是:
我如何在C#中执行此操作?
范围:
我一直在尝试开发一个super-tolerantDateTime.Parse例程,因此我决定尝试使用大多数"广泛使用"的格式来更好地理解format masks.
问题:
我已经定义了一个我用作的特定格式(String)myDate.ToString(format),它可以创造奇迹.问题是,如果我得到这个相同的String(.ToString(format)操作的结果),并将其反馈给DateTime.TryParseExact (...) 它失败.
代码/测试:
System.Globalization.CultureInfo provider = System.Globalization.CultureInfo.InvariantCulture;
// Defining Format and Testing it via "DateTime.ToString(format)"
string format = "MM/dd/yyyy HH:mm:ss tt";
string dtNow = DateTime.Now.ToString (format);
Console.WriteLine (dtNow);
// Trying to Parse DateTime on the same Format defined Above
DateTime time;
if (DateTime.TryParseExact (dtNow, format, provider, System.Globalization.DateTimeStyles.None, out time))
{
// If TryParseExact Worked
Console.WriteLine ("Result: " + time.ToString ());
}
else
{
// If TryParseExact …Run Code Online (Sandbox Code Playgroud) 我目前正在编写一个应用程序(C#),根据其他报告在Excel文件中生成报告.
问题是,一旦从某个工作表中获取一个数字,并复制到另一个工作表,目标单元格没有正确格式化,并且该数字无法正确显示.
E.g :
Number from source : 14.34
Number on destination : 14.345661
Run Code Online (Sandbox Code Playgroud)
如何格式化目标单元格以强制数字格式与源单元格相同.
谢谢 !
范围:
我有一个应用程序,我开始构建具有"订阅者/发布者"的核心情况.
对于那些不知道的人,这个架构背后的想法是:
1)有人创造了一个"主题"
2)端点订阅"主题"
3)发布到某个"主题"的任何消息被推送到所述"主题"的订阅者
注意事项:
我将使用Xamarin.IOS和Xamarin.Android作为构建此移动应用程序的框架(以便它可以从开始时跨平台).
RabbitMQ的:
该RabbitMQ的服务是建立在解决了我的造型"主题/用户/发行商"问题的整个问题AMQP模式之上.
问题:
现在我已经通过RabbitMQ框架建模了问题,我需要"推送"到每个端点(移动设备)的"消息"实际上是"推送通知"而不是将到达该设备的标准消息.
我如何建模我的解决方案来实现这一目标?
提前致谢.
上下文
我一直使用EPPLUS作为自动生成Excel报告的工具,使用C#作为库的客户端语言.
问题:
在尝试编写一个非常大的报告(SQL查询的响应),使用数据透视表,图表等之后,我最终得到了一个Out of Memory Exception.
故障排除
为了排除故障,我决定打开一个138MB的现有报告,并使用该GC对象试着看看我的记忆发生了什么,这是结果.
ExcelPackage pkg = new ExcelPackage (new FileInfo (@"PATH TO THE REPORT.xlsx"));
ExcelWorkbook wb = pkg.Workbook;
Run Code Online (Sandbox Code Playgroud)
垃圾收集结果,在第二行代码之前和之后.

所以,我不知道从现在开始该做什么.我正在做的就是打开报告,该报告在内存上耗费10倍(实际上是9.98倍)报告大小本身.
~138MB的excel文件占用了1.370.817.264字节的RAM.
更新一:
有一个相当新的EPPlus测试版本,它有更改日志:
New Cell store
* Less memory consumtion
* Insert columns (not on the range level)
* Faster row inserts
Run Code Online (Sandbox Code Playgroud)
在更新Nuget之后,我仍然有相同的异常,它在第一行之后抛出,而不是在第二行引发.
我一直在尝试为在 Google 自定义搜索上获得的结果设置一个日期范围,但还不知道如何设置。到目前为止,我的网址如下所示:
https://www.googleapis.com/customsearch/v1?key=MY_KEY&cx=MY_OTHER_KEY&q=bigdata&alt=json&fields=queries(request,nextPage),items(title,link,snippet)&cr=&start=1
Run Code Online (Sandbox Code Playgroud)
例如,我试图获取 01/01/2014 到 02/01/2014 范围内的结果。有什么办法可以做到吗?