我有一个简单而基本的问题。
我有以下示例代码:
#include <stdlib.h>
#include <stdio.h>
int main() {
int students, modules, m, n, first_student, last_student, l = 0;
float student[100][20], high = 0, low = 20, average[students], average_mark[students];
printf("Please enter the number of students:\n");
scanf("%d", &students);
printf("Please enter the number of modules:\n");
scanf("%d", &modules);
for (m = 0; m < students; ++m) {
for (n = 0; n < modules; n++) {
printf("Please enter the mark of module %d for student number %d,\n", n + 1, m + 1);
scanf("%f", &student[m][n]);
}
}
for (m = 0; m < students; ++m) {
average[m] = 0;
}
for (n = 0; n < modules; n++) {
average[m] += student[m][n];
average_mark[m] = average[m] / modules;
}
printf("student average\n");
for (m = 0; m < students; ++m) {
printf("%d %f\n", m + 1, average_mark[m]);
}
for (m = 0; m < students; ++m) {
if (average_mark[m] < low) {
average_mark[m] = low;
}
else
if (average_mark[m] == low) {
last_student = m + 1;
}
if (average_mark[m] > high) {
average_mark[m] = high;
}
else
if (average_mark[m] == high) {
first_student = m + 1;
}
}
printf("The student who had the highest mark is %d : %f\n", first_student, high);
printf("The student who had the lowest mark is %d : %f\n", last_student, low);
for (m = 0; m < students; ++m) {
if (average_mark[m] == 10 || average_mark[m] > 10) {
l++;
}
}
printf("the number of students having a mark that equals or exceeds the average is %d\n", l);
return 0;
}
我要替换硬编码值:
request.AddHeader("authorization", "Bearer _XU6l1eaDs9NQRTcb5QG4m0-ab1F3Y29ikw");
request.AddParameter("application/json", "{\"panelists\":
[{\"name\":\"Mary\",\"email\":\"maryjkdfdsgfshdgf@jdfdkjdglfk.jkfgdj\"},
{\"name\":\"Mike\",\"email\":\"dfdsgfsdhf@jkgfdgfkdhgfdjg.fkjgdf\"}]}", ParameterType.RequestBody);
和
_XU6l1eaDs9NQRTcb5QG4m0-ab1F3Y29ikw
具有2个字符串变量:
"{\"panelists\":
[{\"name\":\"Mary\",\"email\":\"maryjkdfdsgfshdgf@jdfdkjdglfk.jkfgdj\"},
{\"name\":\"Mike\",\"email\":\"dfdsgfsdhf@jkgfdgfkdhgfdjg.fkjgdf\"}]}"
我正在放屁,无法正确解决,将这些变量连接到字符串的正确方法是什么?
我正在做
IList<Panelist> panelists = parameters.panelists;
string bearer = parameters.bearer;
但这不能正常工作。
谢谢您的帮助。
答案 0 :(得分:1)
更新:OP在此处提出了问题 C# format an array for post to Api
我需要以一种可以将其作为请求正文传递的方式来格式化值列表。
您需要将IList转换回字符串吗?因此,用Model表示JSON结构不是更好:
public class Panelist {
public string name { get; set; }
public string email { get; set; }
}
public class Root {
public List<Panelist> panelists { get; set; }
}
将JSON添加到模型或在初始化时填充模型:
myJson = {\"panelists\":
[{\"name\":\"Mary\",\"email\":\"maryjkdfdsgfshdgf@jdfdkjdglfk.jkfgdj\"},
{\"name\":\"Mike\",\"email\":\"dfdsgfsdhf@jkgfdgfkdhgfdjg.fkjgdf\"}]}";
Root myDeserializedClass = JsonConvert.DeserializeObject(myJson)
然后将模型序列化为字符串:
request.AddParameter("application/json", JsonConvert.SerializeObject(myDeserializedClass), ParameterType.RequestBody);